You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Pierre Villard (Jira)" <ji...@apache.org> on 2026/10/22 14:46:00 UTC

[jira] [Created] (NIFI-16490) Return cluster members from the cluster coordinator during flow synchronization

Pierre Villard created NIFI-16490:
-------------------------------------

             Summary: Return cluster members from the cluster coordinator during flow synchronization
                 Key: NIFI-16490
                 URL: https://issues.apache.org/jira/browse/NIFI-16490
             Project: Apache NiFi
          Issue Type: Improvement
          Components: Core Framework
            Reporter: Pierre Villard
            Assignee: Pierre Villard


FlowController.getClusterMembers() currently returns an empty set until isClustered() is true. When a node connects to a cluster, StandardFlowService.loadFromConnectionResponse loads the full list of node connection statuses from the connection response into the local cluster coordinator (initializeNodeConnectionState). It does this before the flow sync (loadFromBytes) runs. However, clustered is only set to true after the sync completes.

Controller Services and other components are enabled during that sync. During that window, NodeTypeProvider.getClusterMembers() returns nothing, even though the node already knows the cluster membership, joining node included. So components cannot tell a single-node cluster restarting apart from a node joining an existing multi-node cluster. Either case looks like zero members.

This change updates getClusterMembers() to return the coordinator's node list whenever the node is configured for clustering, not only once isClustered() is true. Reading the list requires no FlowController locks, consistent with NIFI-16153 and NIFI-16383. Standalone (non-clustered) instances keep returning an empty set.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)