Class ClusterApplierService

    • Field Detail

      • CLUSTER_UPDATE_THREAD_NAME

        public static final java.lang.String CLUSTER_UPDATE_THREAD_NAME
        See Also:
        Constant Field Values
      • threadPool

        protected final ThreadPool threadPool
    • Method Detail

      • setSlowTaskLoggingThreshold

        public void setSlowTaskLoggingThreshold​(TimeValue slowTaskLoggingThreshold)
      • setNodeConnectionsService

        public void setNodeConnectionsService​(NodeConnectionsService nodeConnectionsService)
      • setInitialState

        public void setInitialState​(ClusterState initialState)
        Description copied from interface: ClusterApplier
        Sets the initial state for this applier. Should only be called once.
        Specified by:
        setInitialState in interface ClusterApplier
        Parameters:
        initialState - the initial state to set
      • state

        public ClusterState state()
        The current cluster state. Should be renamed to appliedClusterState
      • addHighPriorityApplier

        public void addHighPriorityApplier​(ClusterStateApplier applier)
        Adds a high priority applier of updated cluster states.
      • addLowPriorityApplier

        public void addLowPriorityApplier​(ClusterStateApplier applier)
        Adds an applier which will be called after all high priority and normal appliers have been called.
      • addStateApplier

        public void addStateApplier​(ClusterStateApplier applier)
        Adds a applier of updated cluster states.
      • removeApplier

        public void removeApplier​(ClusterStateApplier applier)
        Removes an applier of updated cluster states.
      • addListener

        public void addListener​(ClusterStateListener listener)
        Add a listener for updated cluster states
      • removeListener

        public void removeListener​(ClusterStateListener listener)
        Removes a listener for updated cluster states.
      • removeTimeoutListener

        public void removeTimeoutListener​(TimeoutClusterStateListener listener)
        Removes a timeout listener for updated cluster states.
      • addLocalNodeMasterListener

        public void addLocalNodeMasterListener​(LocalNodeMasterListener listener)
        Add a listener for on/off local node master events
      • addTimeoutListener

        public void addTimeoutListener​(@Nullable
                                       TimeValue timeout,
                                       TimeoutClusterStateListener listener)
        Adds a cluster state listener that is expected to be removed during a short period of time. If provided, the listener will be notified once a specific time has elapsed. NOTE: the listener is not removed on timeout. This is the responsibility of the caller.
      • onNewClusterState

        public void onNewClusterState​(java.lang.String source,
                                      java.util.function.Supplier<ClusterState> clusterStateSupplier,
                                      ClusterApplier.ClusterApplyListener listener)
        Description copied from interface: ClusterApplier
        Method to invoke when a new cluster state is available to be applied
        Specified by:
        onNewClusterState in interface ClusterApplier
        Parameters:
        source - information where the cluster state came from
        clusterStateSupplier - the cluster state supplier which provides the latest cluster state to apply
        listener - callback that is invoked after cluster state is applied
      • assertNotClusterStateUpdateThread

        public static boolean assertNotClusterStateUpdateThread​(java.lang.String reason)
        asserts that the current thread is NOT the cluster state update thread
      • runTask

        protected void runTask​(org.elasticsearch.cluster.service.ClusterApplierService.UpdateTask task)
      • warnAboutSlowTaskIfNeeded

        protected void warnAboutSlowTaskIfNeeded​(TimeValue executionTime,
                                                 java.lang.String source)
      • currentTimeInNanos

        protected long currentTimeInNanos()