Class BlobStoreIndexShardSnapshots

java.lang.Object
org.elasticsearch.index.snapshots.blobstore.BlobStoreIndexShardSnapshots
All Implemented Interfaces:
java.lang.Iterable<SnapshotFiles>, org.elasticsearch.common.xcontent.ToXContent, org.elasticsearch.common.xcontent.ToXContentFragment

public class BlobStoreIndexShardSnapshots
extends java.lang.Object
implements java.lang.Iterable<SnapshotFiles>, org.elasticsearch.common.xcontent.ToXContentFragment
Contains information about all snapshots for the given shard in repository

This class is used to find files that were already snapshotted and clear out files that no longer referenced by any snapshots.

  • Nested Class Summary

    Nested 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.Params
  • Field Summary

    Fields 
    Modifier and Type Field Description
    static BlobStoreIndexShardSnapshots EMPTY  

    Fields inherited from interface org.elasticsearch.common.xcontent.ToXContent

    EMPTY_PARAMS
  • Constructor Summary

    Constructors 
    Constructor Description
    BlobStoreIndexShardSnapshots​(java.util.List<SnapshotFiles> shardSnapshots)  
  • Method Summary

    Modifier and Type Method Description
    BlobStoreIndexShardSnapshot.FileInfo findNameFile​(java.lang.String name)
    Finds reference to a snapshotted file by its snapshot name
    java.util.List<BlobStoreIndexShardSnapshot.FileInfo> findPhysicalIndexFiles​(java.lang.String physicalName)
    Finds reference to a snapshotted file by its original name
    static BlobStoreIndexShardSnapshots fromXContent​(org.elasticsearch.common.xcontent.XContentParser parser)  
    java.util.Iterator<SnapshotFiles> iterator()  
    java.util.List<SnapshotFiles> snapshots()
    Returns list of snapshots
    org.elasticsearch.common.xcontent.XContentBuilder toXContent​(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params)
    Writes index file for the shard in the following format.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface java.lang.Iterable

    forEach, spliterator

    Methods inherited from interface org.elasticsearch.common.xcontent.ToXContentFragment

    isFragment
  • Field Details

  • Constructor Details

  • Method Details

    • snapshots

      public java.util.List<SnapshotFiles> snapshots()
      Returns list of snapshots
      Returns:
      list of snapshots
    • findPhysicalIndexFiles

      public java.util.List<BlobStoreIndexShardSnapshot.FileInfo> findPhysicalIndexFiles​(java.lang.String physicalName)
      Finds reference to a snapshotted file by its original name
      Parameters:
      physicalName - original name
      Returns:
      a list of file infos that match specified physical file or null if the file is not present in any of snapshots
    • findNameFile

      public BlobStoreIndexShardSnapshot.FileInfo findNameFile​(java.lang.String name)
      Finds reference to a snapshotted file by its snapshot name
      Parameters:
      name - file name
      Returns:
      file info or null if file is not present in any of snapshots
    • iterator

      public java.util.Iterator<SnapshotFiles> iterator()
      Specified by:
      iterator in interface java.lang.Iterable<SnapshotFiles>
    • 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
      Writes index file for the shard in the following format.
       
       {
           "files": [{
               "name": "__3",
               "physical_name": "_0.si",
               "length": 310,
               "checksum": "1tpsg3p",
               "written_by": "5.1.0",
               "meta_hash": "P9dsFxNMdWNlb......"
           }, {
               "name": "__2",
               "physical_name": "segments_2",
               "length": 150,
               "checksum": "11qjpz6",
               "written_by": "5.1.0",
               "meta_hash": "P9dsFwhzZWdtZ......."
           }, {
               "name": "__1",
               "physical_name": "_0.cfe",
               "length": 363,
               "checksum": "er9r9g",
               "written_by": "5.1.0"
           }, {
               "name": "__0",
               "physical_name": "_0.cfs",
               "length": 3354,
               "checksum": "491liz",
               "written_by": "5.1.0"
           }, {
               "name": "__4",
               "physical_name": "segments_3",
               "length": 150,
               "checksum": "134567",
               "written_by": "5.1.0",
               "meta_hash": "P9dsFwhzZWdtZ......."
           }],
           "snapshots": {
               "snapshot_1": {
                   "files": ["__0", "__1", "__2", "__3"]
               },
               "snapshot_2": {
                   "files": ["__0", "__1", "__2", "__4"]
               }
           }
       }
       }
       
       
      Specified by:
      toXContent in interface org.elasticsearch.common.xcontent.ToXContent
      Throws:
      java.io.IOException
    • fromXContent

      public static BlobStoreIndexShardSnapshots fromXContent​(org.elasticsearch.common.xcontent.XContentParser parser) throws java.io.IOException
      Throws:
      java.io.IOException