Package org.elasticsearch.gateway
Class GatewayMetaState
java.lang.Object
org.elasticsearch.gateway.GatewayMetaState
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
public class GatewayMetaState
extends java.lang.Object
implements java.io.Closeable
Loads (and maybe upgrades) cluster metadata at startup, and persistently stores cluster metadata for future restarts.
When started, ensures that this version is compatible with the state stored on disk, and performs a state upgrade if necessary. Note that
the state being loaded when constructing the instance of this class is not necessarily the state that will be used as
ClusterState.metadata()
because it might be stale or incomplete. Master-eligible nodes must perform an election to find a complete and
non-stale state, and master-ineligible nodes receive the real cluster state from the elected master after joining the cluster.-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
STALE_STATE_CONFIG_NODE_ID
Fake node ID for a voting configuration written by a master-ineligible data node to indicate that its on-disk state is potentially stale (since it is written asynchronously after application, rather than before acceptance). -
Constructor Summary
Constructors Constructor Description GatewayMetaState()
-
Method Summary
Modifier and Type Method Description boolean
allPendingAsyncStatesWritten()
void
close()
Metadata
getMetadata()
CoordinationState.PersistedState
getPersistedState()
void
start(Settings settings, TransportService transportService, ClusterService clusterService, MetaStateService metaStateService, IndexMetadataVerifier indexMetadataVerifier, MetadataUpgrader metadataUpgrader, PersistedClusterStateService persistedClusterStateService)
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
STALE_STATE_CONFIG_NODE_ID
public static final java.lang.String STALE_STATE_CONFIG_NODE_IDFake node ID for a voting configuration written by a master-ineligible data node to indicate that its on-disk state is potentially stale (since it is written asynchronously after application, rather than before acceptance). This node ID means that if the node is restarted as a master-eligible node then it does not win any elections until it has received a fresh cluster state.- See Also:
- Constant Field Values
-
-
Constructor Details
-
GatewayMetaState
public GatewayMetaState()
-
-
Method Details
-
getPersistedState
-
getMetadata
-
start
public void start(Settings settings, TransportService transportService, ClusterService clusterService, MetaStateService metaStateService, IndexMetadataVerifier indexMetadataVerifier, MetadataUpgrader metadataUpgrader, PersistedClusterStateService persistedClusterStateService) -
close
public void close() throws java.io.IOException- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Throws:
java.io.IOException
-
allPendingAsyncStatesWritten
public boolean allPendingAsyncStatesWritten()
-