Uploaded image for project: 'Apache NiFi'
  1. Apache NiFi
  2. NIFI-11776

Composite Cluster State Provider

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • Core Framework
    • None

    Description

      Currently, in state-management.xml, we can configure an instance of a local provider and a instances of a cluster provider.

      We should introduce the concept of composite cluster provider (similar to what we do for user group authorizers). This would give the option to specify multiple cluster providers. NiFi would always read the state from the primary cluster provider but would write state to all configured cluster providers.

      The configuration could be something like:

          <cluster-provider>
              <id>zk-provider-1</id>
              <class&gt;org.apache.nifi.controller.state.providers.zookeeper.ZooKeeperStateProvider</class&gt;
              <property name="Connect String"></property>
              <property name="Root Node">/nifi</property>
              <property name="Session Timeout">10 seconds</property>
              <property name="Access Control">Open</property>
          </cluster-provider>
      
          <cluster-provider>
              <id>zk-provider-2</id>
              <class&gt;org.apache.nifi.controller.state.providers.zookeeper.ZooKeeperStateProvider</class&gt;
              <property name="Connect String"></property>
              <property name="Root Node">/nifi</property>
              <property name="Session Timeout">10 seconds</property>
              <property name="Access Control">Open</property>
          </cluster-provider>
      
          <cluster-provider>
              <id>composite-provider</id>
              <class&gt;org.apache.nifi.controller.state.providers.CompositeStateProvider</class&gt;
              <property name="Primary State Provider">zk-provider-1</property>
              <property name="Secondary State Provider">zk-provider-2</property>
           </cluster-provider> 

      And, in nifi.properties:

      nifi.state.management.provider.cluster=composite-provider

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              pvillard Pierre Villard
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: