Class LocalMasterServiceTask

java.lang.Object
org.elasticsearch.cluster.LocalMasterServiceTask
All Implemented Interfaces:
ClusterStateTaskListener

public abstract class LocalMasterServiceTask extends Object implements ClusterStateTaskListener
Used to execute things on the master service thread on nodes that are not necessarily master
  • Constructor Details

    • LocalMasterServiceTask

      public LocalMasterServiceTask(Priority priority)
  • Method Details

    • execute

      protected void execute(ClusterState currentState) throws Exception
      Throws:
      Exception
    • clusterStateProcessed

      public final void clusterStateProcessed(ClusterState oldState, ClusterState newState)
      Description copied from interface: ClusterStateTaskListener
      Called when the result of the ClusterStateTaskExecutor.execute(ClusterState, List) method have been processed properly by all listeners. The parameter is the state that was ultimately published. This can lead to surprising behaviour if tasks are batched together: a later task in the batch may undo or overwrite the changes made by an earlier task. In general you should prefer to ignore the published state and instead handle the success of a publication via the listener that the executor passes to ClusterStateTaskExecutor.TaskContext.success(java.lang.Runnable). Implementations of this callback must not throw exceptions: an exception thrown here is logged by the master service at ERROR level and otherwise ignored, except in tests where it raises an AssertionError. If log-and-ignore is the right behaviour then implementations must do so themselves, typically using a more specific logger and at a less dramatic log level.
      Specified by:
      clusterStateProcessed in interface ClusterStateTaskListener
    • onPublicationComplete

      protected void onPublicationComplete()
    • submit

      public void submit(MasterService masterService, String source)