Class BlobSnapshotManager
- java.lang.Object
-
- com.linkedin.davinci.blobtransfer.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
-
-
-
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)
-
-