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
  • Field Details

    • BACKING_INDEX_PREFIX

      public static final String BACKING_INDEX_PREFIX
      See Also:
      Constant Field Values
    • DATE_FORMATTER

      public static final DateFormatter DATE_FORMATTER
    • NEW_FEATURES_VERSION

      public static final Version 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.xcontent.ParseField NAME_FIELD
    • TIMESTAMP_FIELD_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField TIMESTAMP_FIELD_FIELD
    • INDICES_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField INDICES_FIELD
    • GENERATION_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField GENERATION_FIELD
    • METADATA_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField METADATA_FIELD
    • HIDDEN_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField HIDDEN_FIELD
    • REPLICATED_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField REPLICATED_FIELD
    • SYSTEM_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField SYSTEM_FIELD
  • Constructor Details

  • Method Details

    • getName

      public String getName()
    • getTimeStampField

      public DataStream.TimestampField getTimeStampField()
    • getIndices

      public List<Index> getIndices()
    • getGeneration

      public long getGeneration()
    • getWriteIndex

      public Index getWriteIndex()
    • getMetadata

      @Nullable public Map<String,​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.
    • isSystem

      public boolean isSystem()
    • rollover

      public DataStream rollover(Metadata clusterMetadata, String writeIndexUuid, Version minNodeVersion)
      Performs a rollover on a DataStream instance and returns a new instance containing the updated list of backing indices and incremented generation.
      Parameters:
      clusterMetadata - Cluster metadata
      writeIndexUuid - UUID for the data stream's new write index
      minNodeVersion - minimum cluster node version
      Returns:
      new DataStream instance with the rollover operation applied
    • removeBackingIndex

      public DataStream removeBackingIndex(Index index)
      Removes the specified backing index and returns a new DataStream instance with the remaining backing indices.
      Parameters:
      index - the backing index to remove
      Returns:
      new DataStream instance with the remaining backing indices
    • replaceBackingIndex

      public DataStream replaceBackingIndex(Index existingBackingIndex, Index newBackingIndex)
      Replaces the specified backing index with a new index and returns a new DataStream instance with the modified backing indices. An IllegalArgumentException is thrown if the index to be replaced is not a backing index for this data stream or if it is the DataStream's write index.
      Parameters:
      existingBackingIndex - the backing index to be replaced
      newBackingIndex - the new index that will be part of the DataStream
      Returns:
      new DataStream instance with backing indices that contain replacement index instead of the specified existing index.
    • promoteDataStream

      public DataStream promoteDataStream()
    • snapshot

      @Nullable public DataStream snapshot(Collection<String> indicesInSnapshot)
      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 DataStream instance or null if no reconciled version of this data stream could be built from the given indices
    • getDefaultBackingIndexName

      public static String getDefaultBackingIndexName(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 stream
      generation - generation of the data stream
      Returns:
      backing index name
    • getDefaultBackingIndexName

      public static String getDefaultBackingIndexName(String dataStreamName, long generation, Version minNodeVersion)
    • getDefaultBackingIndexName

      public static String getDefaultBackingIndexName(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 stream
      generation - generation of the data stream
      epochMillis - creation time for the backing index
      Returns:
      backing index name
    • getDefaultBackingIndexName

      public static String getDefaultBackingIndexName(String dataStreamName, long generation, long epochMillis, Version minNodeVersion)
    • getLegacyDefaultBackingIndexName

      public static String getLegacyDefaultBackingIndexName(String dataStreamName, long generation)
    • readDiffFrom

      public static Diff<DataStream> readDiffFrom(StreamInput in) throws IOException
      Throws:
      IOException
    • writeTo

      public void writeTo(StreamOutput out) throws IOException
      Description copied from interface: Writeable
      Write this into the StreamOutput.
      Specified by:
      writeTo in interface Writeable
      Throws:
      IOException
    • fromXContent

      public static DataStream 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:
      toXContent in interface org.elasticsearch.common.xcontent.ToXContent
      Throws:
      IOException
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object