Class DataStream
java.lang.Object
org.elasticsearch.cluster.AbstractDiffable<DataStream>
org.elasticsearch.cluster.metadata.DataStream
- All Implemented Interfaces:
Diffable<DataStream>,Writeable,org.elasticsearch.common.xcontent.ToXContent,org.elasticsearch.common.xcontent.ToXContentObject
public final class DataStream extends AbstractDiffable<DataStream> implements org.elasticsearch.common.xcontent.ToXContentObject
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDataStream.TimestampFieldNested 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
Fields Modifier and Type Field Description static java.lang.StringBACKING_INDEX_PREFIXstatic DateFormatterDATE_FORMATTERstatic org.elasticsearch.common.ParseFieldGENERATION_FIELDstatic org.elasticsearch.common.ParseFieldHIDDEN_FIELDstatic org.elasticsearch.common.ParseFieldINDICES_FIELDstatic org.elasticsearch.common.ParseFieldMETADATA_FIELDstatic org.elasticsearch.common.ParseFieldNAME_FIELDstatic VersionNEW_FEATURES_VERSIONThe version when data stream metadata, hidden and replicated data streams, and dates in backing index names was introduced.static org.elasticsearch.common.ParseFieldREPLICATED_FIELDstatic org.elasticsearch.common.ParseFieldTIMESTAMP_FIELD_FIELDFields inherited from interface org.elasticsearch.common.xcontent.ToXContent
EMPTY_PARAMS -
Constructor Summary
Constructors Constructor Description DataStream(java.lang.String name, DataStream.TimestampField timeStampField, java.util.List<Index> indices)DataStream(java.lang.String name, DataStream.TimestampField timeStampField, java.util.List<Index> indices, long generation, java.util.Map<java.lang.String,java.lang.Object> metadata)DataStream(java.lang.String name, DataStream.TimestampField timeStampField, java.util.List<Index> indices, long generation, java.util.Map<java.lang.String,java.lang.Object> metadata, boolean hidden, boolean replicated)DataStream(StreamInput in) -
Method Summary
Modifier and Type Method Description booleanequals(java.lang.Object o)static DataStreamfromXContent(org.elasticsearch.common.xcontent.XContentParser parser)static java.lang.StringgetDefaultBackingIndexName(java.lang.String dataStreamName, long generation)Generates the name of the index that conforms to the default naming convention for backing indices on data streams given the specified data stream name and generation and the current system time.static java.lang.StringgetDefaultBackingIndexName(java.lang.String dataStreamName, long generation, long epochMillis)Generates the name of the index that conforms to the default naming convention for backing indices on data streams given the specified data stream name, generation, and time.static java.lang.StringgetDefaultBackingIndexName(java.lang.String dataStreamName, long generation, long epochMillis, Version minNodeVersion)static java.lang.StringgetDefaultBackingIndexName(java.lang.String dataStreamName, long generation, Version minNodeVersion)longgetGeneration()java.util.List<Index>getIndices()static java.lang.StringgetLegacyDefaultBackingIndexName(java.lang.String dataStreamName, long generation)java.util.Map<java.lang.String,java.lang.Object>getMetadata()java.lang.StringgetName()DataStream.TimestampFieldgetTimeStampField()IndexgetWriteIndex()inthashCode()booleanisHidden()booleanisReplicated()Determines whether this data stream is replicated from elsewhere, for example a remote cluster.DataStreampromoteDataStream()static Diff<DataStream>readDiffFrom(StreamInput in)DataStreamremoveBackingIndex(Index index)Removes the specified backing index and returns a newDataStreaminstance with the remaining backing indices.DataStreamreplaceBackingIndex(Index existingBackingIndex, Index newBackingIndex)Replaces the specified backing index with a new index and returns a newDataStreaminstance with the modified backing indices.DataStreamrollover(java.lang.String writeIndexUuid, Version minNodeVersion)Performs a rollover on aDataStreaminstance and returns a new instance containing the updated list of backing indices and incremented generation.DataStreamsnapshot(java.util.Collection<java.lang.String> indicesInSnapshot)Reconciles this data stream with a list of indices available in a snapshot.org.elasticsearch.common.xcontent.XContentBuildertoXContent(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params)voidwriteTo(StreamOutput out)Write this into the StreamOutput.Methods inherited from class org.elasticsearch.cluster.AbstractDiffable
diff, readDiffFromMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.elasticsearch.common.xcontent.ToXContentObject
isFragment
-
Field Details
-
BACKING_INDEX_PREFIX
public static final java.lang.String BACKING_INDEX_PREFIX- See Also:
- Constant Field Values
-
DATE_FORMATTER
-
NEW_FEATURES_VERSION
The version when data stream metadata, hidden and replicated data streams, and dates in backing index names was introduced. -
NAME_FIELD
public static final org.elasticsearch.common.ParseField NAME_FIELD -
TIMESTAMP_FIELD_FIELD
public static final org.elasticsearch.common.ParseField TIMESTAMP_FIELD_FIELD -
INDICES_FIELD
public static final org.elasticsearch.common.ParseField INDICES_FIELD -
GENERATION_FIELD
public static final org.elasticsearch.common.ParseField GENERATION_FIELD -
METADATA_FIELD
public static final org.elasticsearch.common.ParseField METADATA_FIELD -
HIDDEN_FIELD
public static final org.elasticsearch.common.ParseField HIDDEN_FIELD -
REPLICATED_FIELD
public static final org.elasticsearch.common.ParseField REPLICATED_FIELD
-
-
Constructor Details
-
DataStream
public DataStream(java.lang.String name, DataStream.TimestampField timeStampField, java.util.List<Index> indices, long generation, java.util.Map<java.lang.String,java.lang.Object> metadata) -
DataStream
public DataStream(java.lang.String name, DataStream.TimestampField timeStampField, java.util.List<Index> indices, long generation, java.util.Map<java.lang.String,java.lang.Object> metadata, boolean hidden, boolean replicated) -
DataStream
public DataStream(java.lang.String name, DataStream.TimestampField timeStampField, java.util.List<Index> indices) -
DataStream
- Throws:
java.io.IOException
-
-
Method Details
-
getName
public java.lang.String getName() -
getTimeStampField
-
getIndices
-
getGeneration
public long getGeneration() -
getWriteIndex
-
getMetadata
@Nullable public java.util.Map<java.lang.String,java.lang.Object> getMetadata() -
isHidden
public boolean isHidden() -
isReplicated
public boolean isReplicated()Determines whether this data stream is replicated from elsewhere, for example a remote cluster.- Returns:
- Whether this data stream is replicated.
-
rollover
Performs a rollover on aDataStreaminstance and returns a new instance containing the updated list of backing indices and incremented generation.- Parameters:
writeIndexUuid- UUID for the data stream's new write indexminNodeVersion- minimum cluster node version- Returns:
- new
DataStreaminstance with the rollover operation applied
-
removeBackingIndex
Removes the specified backing index and returns a newDataStreaminstance with the remaining backing indices.- Parameters:
index- the backing index to remove- Returns:
- new
DataStreaminstance with the remaining backing indices
-
replaceBackingIndex
Replaces the specified backing index with a new index and returns a newDataStreaminstance with the modified backing indices. AnIllegalArgumentExceptionis thrown if the index to be replaced is not a backing index for this data stream or if it is theDataStream's write index.- Parameters:
existingBackingIndex- the backing index to be replacednewBackingIndex- the new index that will be part of theDataStream- Returns:
- new
DataStreaminstance with backing indices that contain replacement index instead of the specified existing index.
-
promoteDataStream
-
snapshot
Reconciles this data stream with a list of indices available in a snapshot. Allows snapshots to store accurate data stream definitions that do not reference backing indices not contained in the snapshot.- Parameters:
indicesInSnapshot- List of indices in the snapshot- Returns:
- Reconciled
DataStreaminstance ornullif no reconciled version of this data stream could be built from the given indices
-
getDefaultBackingIndexName
public static java.lang.String getDefaultBackingIndexName(java.lang.String dataStreamName, long generation)Generates the name of the index that conforms to the default naming convention for backing indices on data streams given the specified data stream name and generation and the current system time.- Parameters:
dataStreamName- name of the data streamgeneration- generation of the data stream- Returns:
- backing index name
-
getDefaultBackingIndexName
public static java.lang.String getDefaultBackingIndexName(java.lang.String dataStreamName, long generation, Version minNodeVersion) -
getDefaultBackingIndexName
public static java.lang.String getDefaultBackingIndexName(java.lang.String dataStreamName, long generation, long epochMillis)Generates the name of the index that conforms to the default naming convention for backing indices on data streams given the specified data stream name, generation, and time.- Parameters:
dataStreamName- name of the data streamgeneration- generation of the data streamepochMillis- creation time for the backing index- Returns:
- backing index name
-
getDefaultBackingIndexName
public static java.lang.String getDefaultBackingIndexName(java.lang.String dataStreamName, long generation, long epochMillis, Version minNodeVersion) -
getLegacyDefaultBackingIndexName
public static java.lang.String getLegacyDefaultBackingIndexName(java.lang.String dataStreamName, long generation) -
readDiffFrom
- Throws:
java.io.IOException
-
writeTo
Description copied from interface:WriteableWrite this into the StreamOutput. -
fromXContent
public static DataStream fromXContent(org.elasticsearch.common.xcontent.XContentParser parser) throws java.io.IOException- Throws:
java.io.IOException
-
toXContent
public org.elasticsearch.common.xcontent.XContentBuilder toXContent(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params) throws java.io.IOException- Specified by:
toXContentin interfaceorg.elasticsearch.common.xcontent.ToXContent- Throws:
java.io.IOException
-
equals
public boolean equals(java.lang.Object o)- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()- Overrides:
hashCodein classjava.lang.Object
-