Package org.elasticsearch.gateway
Class GatewayMetaState
java.lang.Object
org.elasticsearch.gateway.GatewayMetaState
- All Implemented Interfaces:
Closeable
,AutoCloseable
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
Modifier and TypeFieldDescriptionstatic String
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
-
Method Summary
Modifier and TypeMethodDescriptionboolean
void
close()
void
start(Settings settings, TransportService transportService, ClusterService clusterService, MetaStateService metaStateService, IndexMetadataVerifier indexMetadataVerifier, MetadataUpgrader metadataUpgrader, PersistedClusterStateService persistedClusterStateService)
-
Field Details
-
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). 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
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-
allPendingAsyncStatesWritten
public boolean allPendingAsyncStatesWritten()
-