Class Metadata
java.lang.Object
org.elasticsearch.cluster.metadata.Metadata
- All Implemented Interfaces:
Iterable<IndexMetadata>,Diffable<Metadata>,Writeable,org.elasticsearch.common.xcontent.ToXContent,org.elasticsearch.common.xcontent.ToXContentFragment
public class Metadata
extends Object
implements Iterable<IndexMetadata>, Diffable<Metadata>, org.elasticsearch.common.xcontent.ToXContentFragment
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic interfacestatic interfacestatic classNested classes/interfaces inherited from interface org.elasticsearch.common.xcontent.ToXContent
org.elasticsearch.common.xcontent.ToXContent.DelegatingMapParams, org.elasticsearch.common.xcontent.ToXContent.MapParams, org.elasticsearch.common.xcontent.ToXContent.ParamsNested classes/interfaces inherited from interface org.elasticsearch.common.io.stream.Writeable
Writeable.Reader<V>, Writeable.Writer<V> -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic Stringstatic EnumSet<Metadata.XContentContext>Indicates that this custom metadata will be returned as part of an API call, stored as a part of a snapshot global state, and will be persisted between node restartsstatic EnumSet<Metadata.XContentContext>Indicates that this custom metadata will be returned as part of an API call and will be persisted between node restarts, but will not be a part of a snapshot global statestatic EnumSet<Metadata.XContentContext>Indicates that this custom metadata will be returned as part of an API call and stored as a part of a snapshot global state, but will not be persisted between node restartsstatic EnumSet<Metadata.XContentContext>Indicates that this custom metadata will be returned as part of an API call but will not be persistedstatic ClusterBlockstatic ClusterBlockstatic Stringstatic Stringstatic Stringstatic Stringstatic Metadatastatic MetadataStateFormat<Metadata>State format forMetadatato write to and load from diskstatic Stringstatic Runnablestatic StringFields inherited from interface org.elasticsearch.common.xcontent.ToXContent
EMPTY_PARAMS -
Method Summary
Modifier and TypeMethodDescriptionstatic Metadata.Builderbuilder()static Metadata.BuilderbooleanWhether the current node with the given cluster state is locked into the cluster with the UUID returned byclusterUUID(), meaning that it will not accept any cluster state with a different clusterUUID.<T extends Metadata.Custom>
T<T extends Metadata.Custom>
Tcustoms()Returns serializable object representing differences between this and previousStatebooleanequalsAliases(Metadata other)findAliases(AliasesRequest aliasesRequest, String[] concreteIndices)Finds the specific index aliases that match with the specified aliases directly or partially via wildcards, and that point to the specified concrete indices (directly or matching indices via wildcards).findAllAliases(String[] concreteIndices)Finds the specific index aliases that point to the requested concrete indices directly or that match with the indices via wildcards.findDataStreams(String[] concreteIndices)Finds the parent data streams, if any, for the specified concrete indices.findMappings(String[] concreteIndices, String[] types, Function<String,Predicate<String>> fieldFilter, Runnable onNextIndex)Finds all mappings for types and concrete indices.static MetadatafromXContent(org.elasticsearch.common.xcontent.XContentParser parser)String[]Returns all of the concrete indices that are closed.String[]Returns all the concrete indices.String[]Returns all of the concrete indices that are open.String[]Returns all of the concrete indices that are closed and not hidden.String[]Returns all the concrete indices that are not hidden.String[]Returns all of the concrete indices that are open and not hidden.getIndexSafe(Index index)Returns theIndexMetadatafor this index.intGets the total number of shards from all indices, including replicas and closed indices.intGets the total number of open shards from all indices.booleanbooleanhasAliases(String[] aliases, String[] concreteIndices)Checks if at least one of the specified aliases exists in the specified concrete indices.booleanhasConcreteIndex(String index)booleanbooleanbooleanhasIndexMetadata(IndexMetadata indexMetadata)Returns true iff existing index has the sameIndexMetadatainstanceThe collection of index deletions in the cluster.indices()static booleanisAllTypes(String[] types)Identifies whether the array containing type names given as argument refers to all types The empty or null array identifies all typesstatic booleanisExplicitAllType(String[] types)Identifies whether the array containing type names given as argument explicitly refers to all types The empty or null array doesn't explicitly map to all typesstatic booleanisGlobalStateEquals(Metadata metadata1, Metadata metadata2)iterator()static MetadatareadFrom(StreamInput in)resolveIndexRouting(String routing, String aliasOrIndex)Returns indexing routing for the given index.resolveWriteIndexRouting(String routing, String aliasOrIndex)Returns indexing routing for the givenaliasOrIndex.booleanroutingRequired(String concreteIndex)settings()Returns the merged transient and persistent settings.static MetadataReconciles the cluster state metadata taken at the end of a snapshot with the data streams and indices contained in the snapshot.org.elasticsearch.common.xcontent.XContentBuildertoXContent(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params)longversion()voidwriteTo(StreamOutput out)Write this into the StreamOutput.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface org.elasticsearch.common.xcontent.ToXContentFragment
isFragment
-
Field Details
-
ON_NEXT_INDEX_FIND_MAPPINGS_NOOP
-
ALL
- See Also:
- Constant Field Values
-
UNKNOWN_CLUSTER_UUID
- See Also:
- Constant Field Values
-
API_ONLY
Indicates that this custom metadata will be returned as part of an API call but will not be persisted -
API_AND_GATEWAY
Indicates that this custom metadata will be returned as part of an API call and will be persisted between node restarts, but will not be a part of a snapshot global state -
API_AND_SNAPSHOT
Indicates that this custom metadata will be returned as part of an API call and stored as a part of a snapshot global state, but will not be persisted between node restarts -
ALL_CONTEXTS
Indicates that this custom metadata will be returned as part of an API call, stored as a part of a snapshot global state, and will be persisted between node restarts -
SETTING_READ_ONLY_SETTING
-
CLUSTER_READ_ONLY_BLOCK
-
SETTING_READ_ONLY_ALLOW_DELETE_SETTING
-
CLUSTER_READ_ONLY_ALLOW_DELETE_BLOCK
-
EMPTY_METADATA
-
CONTEXT_MODE_PARAM
- See Also:
- Constant Field Values
-
CONTEXT_MODE_SNAPSHOT
-
CONTEXT_MODE_GATEWAY
-
CONTEXT_MODE_API
-
GLOBAL_STATE_FILE_PREFIX
- See Also:
- Constant Field Values
-
FORMAT
State format forMetadatato write to and load from disk
-
-
Method Details
-
version
public long version() -
clusterUUID
-
clusterUUIDCommitted
public boolean clusterUUIDCommitted()Whether the current node with the given cluster state is locked into the cluster with the UUID returned byclusterUUID(), meaning that it will not accept any cluster state with a different clusterUUID. -
settings
Returns the merged transient and persistent settings. -
transientSettings
-
persistentSettings
-
hashesOfConsistentSettings
-
coordinationMetadata
-
hasAlias
-
equalsAliases
-
getIndicesLookup
-
findAllAliases
Finds the specific index aliases that point to the requested concrete indices directly or that match with the indices via wildcards.- Parameters:
concreteIndices- The concrete indices that the aliases must point to in order to be returned.- Returns:
- A map of index name to the list of aliases metadata. If a concrete index does not have matching aliases then the result will not include the index's key.
-
findAliases
public ImmutableOpenMap<String,List<AliasMetadata>> findAliases(AliasesRequest aliasesRequest, String[] concreteIndices)Finds the specific index aliases that match with the specified aliases directly or partially via wildcards, and that point to the specified concrete indices (directly or matching indices via wildcards).- Parameters:
aliasesRequest- The request to find aliases forconcreteIndices- The concrete indices that the aliases must point to in order to be returned.- Returns:
- A map of index name to the list of aliases metadata. If a concrete index does not have matching aliases then the result will not include the index's key.
-
hasAliases
Checks if at least one of the specified aliases exists in the specified concrete indices. Wildcards are supported in the alias names for partial matches.- Parameters:
aliases- The names of the index aliases to findconcreteIndices- The concrete indexes the index aliases must point to order to be returned.- Returns:
- whether at least one of the specified aliases exists in one of the specified concrete indices.
-
findMappings
public ImmutableOpenMap<String,ImmutableOpenMap<String,MappingMetadata>> findMappings(String[] concreteIndices, String[] types, Function<String,Predicate<String>> fieldFilter, Runnable onNextIndex) throws IOExceptionFinds all mappings for types and concrete indices. Types are expanded to include all types that match the glob patterns in the types array. Empty types array, null or {"_all"} will be expanded to all types available for the given indices. Only fields that match the provided field filter will be returned (default is a predicate that always returns true, which can be overridden via plugins)- Parameters:
onNextIndex- a hook that gets notified for each index that's processed- Throws:
IOException- See Also:
MapperPlugin.getFieldFilter()
-
findDataStreams
public ImmutableOpenMap<String,IndexAbstraction.DataStream> findDataStreams(String[] concreteIndices)Finds the parent data streams, if any, for the specified concrete indices. -
getConcreteAllIndices
Returns all the concrete indices. -
getConcreteVisibleIndices
Returns all the concrete indices that are not hidden. -
getConcreteAllOpenIndices
Returns all of the concrete indices that are open. -
getConcreteVisibleOpenIndices
Returns all of the concrete indices that are open and not hidden. -
getConcreteAllClosedIndices
Returns all of the concrete indices that are closed. -
getConcreteVisibleClosedIndices
Returns all of the concrete indices that are closed and not hidden. -
resolveWriteIndexRouting
Returns indexing routing for the givenaliasOrIndex. Resolves routing from the alias metadata used in the write index. -
resolveIndexRouting
Returns indexing routing for the given index. -
hasIndex
-
hasIndex
-
hasConcreteIndex
-
index
-
index
-
hasIndexMetadata
Returns true iff existing index has the sameIndexMetadatainstance -
getIndexSafe
Returns theIndexMetadatafor this index.- Throws:
IndexNotFoundException- if no metadata for this index is found
-
indices
-
getIndices
-
templates
-
getTemplates
-
componentTemplates
-
templatesV2
-
dataStreams
-
dataStreamAliases
-
customs
-
getCustoms
-
indexGraveyard
The collection of index deletions in the cluster. -
custom
-
custom
-
getTotalNumberOfShards
public int getTotalNumberOfShards()Gets the total number of shards from all indices, including replicas and closed indices.- Returns:
- The total number shards from all indices.
-
getTotalOpenIndexShards
public int getTotalOpenIndexShards()Gets the total number of open shards from all indices. Includes replicas, but does not include shards that are part of closed indices.- Returns:
- The total number of open shards from all indices.
-
isAllTypes
Identifies whether the array containing type names given as argument refers to all types The empty or null array identifies all types- Parameters:
types- the array containing types- Returns:
- true if the provided array maps to all types, false otherwise
-
isExplicitAllType
Identifies whether the array containing type names given as argument explicitly refers to all types The empty or null array doesn't explicitly map to all types- Parameters:
types- the array containing index names- Returns:
- true if the provided array explicitly maps to all types, false otherwise
-
routingRequired
- Parameters:
concreteIndex- The concrete index to check if routing is required- Returns:
- Whether routing is required according to the mapping for the specified index and type
-
iterator
- Specified by:
iteratorin interfaceIterable<IndexMetadata>
-
isGlobalStateEquals
-
snapshot
Reconciles the cluster state metadata taken at the end of a snapshot with the data streams and indices contained in the snapshot. Certain actions taken during a snapshot such as rolling over a data stream or deleting a backing index may result in situations where some reconciliation is required.- Returns:
- Reconciled
Metadatainstance
-
diff
Description copied from interface:DiffableReturns serializable object representing differences between this and previousState -
readDiffFrom
- Throws:
IOException
-
fromXContent
public static Metadata fromXContent(org.elasticsearch.common.xcontent.XContentParser parser) throws IOException- Throws:
IOException
-
toXContent
public org.elasticsearch.common.xcontent.XContentBuilder toXContent(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params) throws IOException- Specified by:
toXContentin interfaceorg.elasticsearch.common.xcontent.ToXContent- Throws:
IOException
-
readFrom
- Throws:
IOException
-
writeTo
Description copied from interface:WriteableWrite this into the StreamOutput.- Specified by:
writeToin interfaceWriteable- Throws:
IOException
-
builder
-
builder
-