@Override protected void doStart() { DiscoveryNode localNode = transportService.getLocalNode(); assert localNode != null; synchronized (stateMutex) { // set initial state assert committedState.get() == null; assert localNode != null; ClusterState.Builder builder = clusterApplier.newClusterStateBuilder(); ClusterState initialState = builder .blocks(ClusterBlocks.builder() .addGlobalBlock(STATE_NOT_RECOVERED_BLOCK) .addGlobalBlock(discoverySettings.getNoMasterBlock())) .nodes(DiscoveryNodes.builder().add(localNode).localNodeId(localNode.getId())) .build(); committedState.set(initialState); clusterApplier.setInitialState(initialState); nodesFD.setLocalNode(localNode); joinThreadControl.start(); } zenPing.start(); }
nodesBuilder.add(node); nodesChanged = true; minClusterNodeVersion = Version.min(minClusterNodeVersion, node.getVersion());
logger.info("[{}] adding node [{}]", tribeName, discoNode); nodes.add(discoNode);
public static ClusterService createClusterService(ThreadPool threadPool, DiscoveryNode localNode, ClusterSettings clusterSettings) { ClusterService clusterService = new ClusterService(Settings.builder().put("cluster.name", "ClusterServiceTests").build(), clusterSettings, threadPool, Collections.emptyMap()); clusterService.setNodeConnectionsService(new NodeConnectionsService(Settings.EMPTY, null, null) { @Override public void connectToNodes(DiscoveryNodes discoveryNodes) { // skip } @Override public void disconnectFromNodesExcept(DiscoveryNodes nodesToKeep) { // skip } }); ClusterState initialClusterState = ClusterState.builder(new ClusterName(ClusterServiceUtils.class.getSimpleName())) .nodes(DiscoveryNodes.builder() .add(localNode) .localNodeId(localNode.getId()) .masterNodeId(localNode.getId())) .blocks(ClusterBlocks.EMPTY_CLUSTER_BLOCK).build(); clusterService.getClusterApplierService().setInitialState(initialClusterState); clusterService.getMasterService().setClusterStatePublisher( createClusterStatePublisher(clusterService.getClusterApplierService())); clusterService.getMasterService().setClusterStateSupplier(clusterService.getClusterApplierService()::state); clusterService.start(); return clusterService; }
@Override protected void doStart() { DiscoveryNode localNode = transportService.getLocalNode(); assert localNode != null; synchronized (stateMutex) { // set initial state assert committedState.get() == null; assert localNode != null; ClusterState.Builder builder = clusterApplier.newClusterStateBuilder(); ClusterState initialState = builder .blocks(ClusterBlocks.builder() .addGlobalBlock(STATE_NOT_RECOVERED_BLOCK) .addGlobalBlock(discoverySettings.getNoMasterBlock())) .nodes(DiscoveryNodes.builder().add(localNode).localNodeId(localNode.getId())) .build(); committedState.set(initialState); clusterApplier.setInitialState(initialState); nodesFD.setLocalNode(localNode); joinThreadControl.start(); } zenPing.start(); }
@Override protected void doStart() { DiscoveryNode localNode = transportService.getLocalNode(); assert localNode != null; synchronized (stateMutex) { // set initial state assert committedState.get() == null; assert localNode != null; ClusterState.Builder builder = clusterApplier.newClusterStateBuilder(); ClusterState initialState = builder .blocks(ClusterBlocks.builder() .addGlobalBlock(STATE_NOT_RECOVERED_BLOCK) .addGlobalBlock(discoverySettings.getNoMasterBlock())) .nodes(DiscoveryNodes.builder().add(localNode).localNodeId(localNode.getId())) .build(); committedState.set(initialState); clusterApplier.setInitialState(initialState); nodesFD.setLocalNode(localNode); joinThreadControl.start(); } zenPing.start(); }
@Override protected synchronized void doStart() { Objects.requireNonNull(clusterStatePublisher, "please set a cluster state publisher before starting"); Objects.requireNonNull(nodeConnectionsService, "please set the node connection service before starting"); Objects.requireNonNull(discoverySettings, "please set discovery settings before starting"); addListener(localNodeMasterListeners); DiscoveryNode localNode = localNodeSupplier.get(); assert localNode != null; updateState(state -> { assert state.nodes().getLocalNodeId() == null : "local node is already set"; DiscoveryNodes nodes = DiscoveryNodes.builder(state.nodes()).add(localNode).localNodeId(localNode.getId()).build(); return ClusterState.builder(state).nodes(nodes).blocks(initialBlocks).build(); }); this.threadPoolExecutor = EsExecutors.newSinglePrioritizing(UPDATE_THREAD_NAME, daemonThreadFactory(settings, UPDATE_THREAD_NAME), threadPool.getThreadContext(), threadPool.scheduler()); this.taskBatcher = new ClusterServiceTaskBatcher(logger, threadPoolExecutor); }
public DiscoveryNodes newNode(DiscoveryNode node) { return new Builder(this).add(node).build(); }
public DiscoveryNodes newNode(DiscoveryNode node) { return new Builder(this).add(node).build(); }
public DiscoveryNodes newNode(DiscoveryNode node) { return new Builder(this).add(node).build(); }
@Override protected ClusterState createInitialState(DiscoveryNode localNode) { ClusterBlocks.Builder clusterBlocks = ClusterBlocks.builder(); // don't add no_master / state recovery block if (BLOCKS_WRITE_SETTING.get(settings)) { clusterBlocks.addGlobalBlock(TRIBE_WRITE_BLOCK); } if (BLOCKS_METADATA_SETTING.get(settings)) { clusterBlocks.addGlobalBlock(TRIBE_METADATA_BLOCK); } return ClusterState.builder(ClusterName.CLUSTER_NAME_SETTING.get(settings)) .nodes(DiscoveryNodes.builder().add(localNode).localNodeId(localNode.getId()).build()) .blocks(clusterBlocks).build(); }
protected ClusterState createInitialState(DiscoveryNode localNode) { ClusterState.Builder builder = clusterApplier.newClusterStateBuilder(); return builder.nodes(DiscoveryNodes.builder().add(localNode) .localNodeId(localNode.getId()) .masterNodeId(localNode.getId()) .build()) .blocks(ClusterBlocks.builder() .addGlobalBlock(STATE_NOT_RECOVERED_BLOCK)) .build(); }
public DiscoveryNodes nodes() { DiscoveryNodes.Builder nodesBuilder = new DiscoveryNodes.Builder(); nodesBuilder.localNodeId(CassandraDiscovery.this.localNode.getId()).masterNodeId(CassandraDiscovery.this.localNode.getId()); for (DiscoveryNode node : members.values()) { nodesBuilder.add(node); } return nodesBuilder.build(); } }
protected ClusterState createInitialState(DiscoveryNode localNode) { ClusterState.Builder builder = clusterApplier.newClusterStateBuilder(); return builder.nodes(DiscoveryNodes.builder().add(localNode) .localNodeId(localNode.getId()) .masterNodeId(localNode.getId()) .build()) .blocks(ClusterBlocks.builder() .addGlobalBlock(STATE_NOT_RECOVERED_BLOCK)) .build(); }
public DiscoveryNodes removeDeadMembers(Set<String> newNodes, String masterNodeId) { Builder builder = new Builder().masterNodeId(masterNodeId).localNodeId(localNodeId); for (DiscoveryNode node : this) { if (newNodes.contains(node.getId())) { builder.add(node); } } return builder.build(); }
@Override public ClusterTasksResult<LocalClusterUpdateTask> execute(ClusterState currentState) { DiscoveryNodes.Builder nodesBuilder = DiscoveryNodes.builder(); for (LocalDiscovery discovery : clusterGroups.get(clusterName).members()) { nodesBuilder.add(discovery.localNode()); } nodesBuilder.localNodeId(master.localNode().getId()).masterNodeId(master.localNode().getId()); return newState(ClusterState.builder(currentState).nodes(nodesBuilder).build()); }
public static MasterService createMasterService(ThreadPool threadPool, DiscoveryNode localNode) { ClusterState initialClusterState = ClusterState.builder(new ClusterName(ClusterServiceUtils.class.getSimpleName())) .nodes(DiscoveryNodes.builder() .add(localNode) .localNodeId(localNode.getId()) .masterNodeId(localNode.getId())) .blocks(ClusterBlocks.EMPTY_CLUSTER_BLOCK).build(); return createMasterService(threadPool, initialClusterState); }
@Override public ClusterTasksResult<LocalClusterUpdateTask> execute(ClusterState currentState) { DiscoveryNodes.Builder nodesBuilder = DiscoveryNodes.builder(); for (LocalDiscovery discovery : clusterGroups.get(clusterName).members()) { nodesBuilder.add(discovery.localNode()); } nodesBuilder.localNodeId(master.localNode().getId()).masterNodeId(master.localNode().getId()); currentState = ClusterState.builder(currentState).nodes(nodesBuilder).build(); return newState(master.allocationService.reroute(currentState, "node_add")); }
public DiscoveryNodes newNode(DiscoveryNode node) { return new Builder(this).add(node).build(); }
protected ClusterState createInitialState(DiscoveryNode localNode) { ClusterState.Builder builder = clusterApplier.newClusterStateBuilder(); return builder.nodes(DiscoveryNodes.builder().add(localNode) .localNodeId(localNode.getId()) .masterNodeId(localNode.getId()) .build()) .blocks(ClusterBlocks.builder() .addGlobalBlock(STATE_NOT_RECOVERED_BLOCK)) .build(); }