Class BlobSnapshotManager


  • public class BlobSnapshotManager
    extends java.lang.Object
    This class will take and return a snapshot of a hybrid store, if someone is using a snapshot then it will return the snapshot that person is using, otherwise, it will return the last snapshot taken if it is not stale If the snapshot is stale and no one is using it, it will update the snapshot and return the new one
    • Constructor Summary

      Constructors 
      Constructor Description
      BlobSnapshotManager​(java.lang.String basePath, long snapshotRetentionTime, ReadOnlyStoreRepository readOnlyStoreRepository)
      Constructor for the BlobSnapshotManager
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected org.rocksdb.Checkpoint createCheckpoint​(org.rocksdb.RocksDB rocksDB)  
      void decreaseConcurrentUserCount​(java.lang.String topicName, int partitionId)  
      void maybeUpdateHybridSnapshot​(org.rocksdb.RocksDB rocksDB, java.lang.String topicName, int partitionId)
      Checks if the snapshot is stale, if it is and no one is using it, it updates the snapshot, otherwise it increases the count of people using the snapshot
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • BlobSnapshotManager

        public BlobSnapshotManager​(java.lang.String basePath,
                                   long snapshotRetentionTime,
                                   ReadOnlyStoreRepository readOnlyStoreRepository)
        Constructor for the BlobSnapshotManager
    • Method Detail

      • maybeUpdateHybridSnapshot

        public void maybeUpdateHybridSnapshot​(org.rocksdb.RocksDB rocksDB,
                                              java.lang.String topicName,
                                              int partitionId)
        Checks if the snapshot is stale, if it is and no one is using it, it updates the snapshot, otherwise it increases the count of people using the snapshot
      • decreaseConcurrentUserCount

        public void decreaseConcurrentUserCount​(java.lang.String topicName,
                                                int partitionId)
      • createCheckpoint

        protected org.rocksdb.Checkpoint createCheckpoint​(org.rocksdb.RocksDB rocksDB)