org.rocksdb.RocksDB.getSnapshot()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(6.6k)|赞(0)|评价(0)|浏览(207)

本文整理了Java中org.rocksdb.RocksDB.getSnapshot方法的一些代码示例,展示了RocksDB.getSnapshot的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RocksDB.getSnapshot方法的具体详情如下:
包路径:org.rocksdb.RocksDB
类名称:RocksDB
方法名:getSnapshot

RocksDB.getSnapshot介绍

[英]Return a handle to the current DB state. Iterators created with this handle will all observe a stable snapshot of the current DB state. The caller must call ReleaseSnapshot(result) when the snapshot is no longer needed.

nullptr will be returned if the DB fails to take a snapshot or does not support snapshot.
[中]将句柄返回到当前DB状态。使用此句柄创建的迭代器都将观察当前数据库状态的稳定快照。当不再需要快照时,调用方必须调用ReleaseSnapshot(结果)。
如果数据库无法获取快照或不支持快照,则会返回nullptr。

代码示例

代码示例来源:origin: apache/flink

  1. @Nonnull
  2. @Override
  3. public RunnableFuture<SnapshotResult<KeyedStateHandle>> doSnapshot(
  4. long checkpointId,
  5. long timestamp,
  6. @Nonnull CheckpointStreamFactory primaryStreamFactory,
  7. @Nonnull CheckpointOptions checkpointOptions) throws Exception {
  8. final SupplierWithException<CheckpointStreamWithResultProvider, Exception> checkpointStreamSupplier =
  9. createCheckpointStreamSupplier(checkpointId, primaryStreamFactory, checkpointOptions);
  10. final List<StateMetaInfoSnapshot> stateMetaInfoSnapshots = new ArrayList<>(kvStateInformation.size());
  11. final List<Tuple2<ColumnFamilyHandle, RegisteredStateMetaInfoBase>> metaDataCopy =
  12. new ArrayList<>(kvStateInformation.size());
  13. for (Tuple2<ColumnFamilyHandle, RegisteredStateMetaInfoBase> tuple2 : kvStateInformation.values()) {
  14. // snapshot meta info
  15. stateMetaInfoSnapshots.add(tuple2.f1.snapshot());
  16. metaDataCopy.add(tuple2);
  17. }
  18. final ResourceGuard.Lease lease = rocksDBResourceGuard.acquireResource();
  19. final Snapshot snapshot = db.getSnapshot();
  20. final SnapshotAsynchronousPartCallable asyncSnapshotCallable =
  21. new SnapshotAsynchronousPartCallable(
  22. checkpointStreamSupplier,
  23. lease,
  24. snapshot,
  25. stateMetaInfoSnapshots,
  26. metaDataCopy,
  27. primaryStreamFactory.toString());
  28. return asyncSnapshotCallable.toAsyncSnapshotFutureTask(cancelStreamRegistry);
  29. }

代码示例来源:origin: apache/flink

  1. AbstractRocksDBState<?, ?, SV> rocksDBState = (AbstractRocksDBState<?, ?, SV>) state;
  2. Snapshot rocksDBSnapshot = db.getSnapshot();
  3. try (
  4. RocksIteratorWrapper iterator = getRocksIterator(db, stateMetaInfo.f0);

代码示例来源:origin: org.jsimpledb/jsimpledb-kv-rocksdb

  1. /**
  2. * Constructor.
  3. *
  4. * @param db RocksDB database to snapshot
  5. * @throws NullPointerException if {@code db} is null
  6. */
  7. public SnapshotRocksDBKVStore(RocksDB db) {
  8. this(db, db.getSnapshot());
  9. }

代码示例来源:origin: org.apache.flink/flink-statebackend-rocksdb_2.10

  1. /**
  2. * 1) Create a snapshot object from RocksDB.
  3. *
  4. * @param checkpointId id of the checkpoint for which we take the snapshot
  5. * @param checkpointTimeStamp timestamp of the checkpoint for which we take the snapshot
  6. */
  7. public void takeDBSnapShot(long checkpointId, long checkpointTimeStamp) {
  8. Preconditions.checkArgument(snapshot == null, "Only one ongoing snapshot allowed!");
  9. this.kvStateIterators = new ArrayList<>(stateBackend.kvStateInformation.size());
  10. this.checkpointId = checkpointId;
  11. this.checkpointTimeStamp = checkpointTimeStamp;
  12. this.snapshot = stateBackend.db.getSnapshot();
  13. }

代码示例来源:origin: org.rocksdb/rocksdbjni

  1. /**
  2. * <p>Return a handle to the current DB state. Iterators created with
  3. * this handle will all observe a stable snapshot of the current DB
  4. * state. The caller must call ReleaseSnapshot(result) when the
  5. * snapshot is no longer needed.</p>
  6. *
  7. * <p>nullptr will be returned if the DB fails to take a snapshot or does
  8. * not support snapshot.</p>
  9. *
  10. * @return Snapshot {@link Snapshot} instance
  11. */
  12. public Snapshot getSnapshot() {
  13. long snapshotHandle = getSnapshot(nativeHandle_);
  14. if (snapshotHandle != 0) {
  15. return new Snapshot(snapshotHandle);
  16. }
  17. return null;
  18. }

代码示例来源:origin: org.apache.flink/flink-statebackend-rocksdb

  1. @Nonnull
  2. @Override
  3. public RunnableFuture<SnapshotResult<KeyedStateHandle>> doSnapshot(
  4. long checkpointId,
  5. long timestamp,
  6. @Nonnull CheckpointStreamFactory primaryStreamFactory,
  7. @Nonnull CheckpointOptions checkpointOptions) throws Exception {
  8. final SupplierWithException<CheckpointStreamWithResultProvider, Exception> checkpointStreamSupplier =
  9. createCheckpointStreamSupplier(checkpointId, primaryStreamFactory, checkpointOptions);
  10. final List<StateMetaInfoSnapshot> stateMetaInfoSnapshots = new ArrayList<>(kvStateInformation.size());
  11. final List<Tuple2<ColumnFamilyHandle, RegisteredStateMetaInfoBase>> metaDataCopy =
  12. new ArrayList<>(kvStateInformation.size());
  13. for (Tuple2<ColumnFamilyHandle, RegisteredStateMetaInfoBase> tuple2 : kvStateInformation.values()) {
  14. // snapshot meta info
  15. stateMetaInfoSnapshots.add(tuple2.f1.snapshot());
  16. metaDataCopy.add(tuple2);
  17. }
  18. final ResourceGuard.Lease lease = rocksDBResourceGuard.acquireResource();
  19. final Snapshot snapshot = db.getSnapshot();
  20. final SnapshotAsynchronousPartCallable asyncSnapshotCallable =
  21. new SnapshotAsynchronousPartCallable(
  22. checkpointStreamSupplier,
  23. lease,
  24. snapshot,
  25. stateMetaInfoSnapshots,
  26. metaDataCopy,
  27. primaryStreamFactory.toString());
  28. return asyncSnapshotCallable.toAsyncSnapshotFutureTask(cancelStreamRegistry);
  29. }

代码示例来源:origin: org.apache.flink/flink-statebackend-rocksdb_2.11

  1. @Nonnull
  2. @Override
  3. public RunnableFuture<SnapshotResult<KeyedStateHandle>> doSnapshot(
  4. long checkpointId,
  5. long timestamp,
  6. @Nonnull CheckpointStreamFactory primaryStreamFactory,
  7. @Nonnull CheckpointOptions checkpointOptions) throws Exception {
  8. final SupplierWithException<CheckpointStreamWithResultProvider, Exception> checkpointStreamSupplier =
  9. createCheckpointStreamSupplier(checkpointId, primaryStreamFactory, checkpointOptions);
  10. final List<StateMetaInfoSnapshot> stateMetaInfoSnapshots = new ArrayList<>(kvStateInformation.size());
  11. final List<Tuple2<ColumnFamilyHandle, RegisteredStateMetaInfoBase>> metaDataCopy =
  12. new ArrayList<>(kvStateInformation.size());
  13. for (Tuple2<ColumnFamilyHandle, RegisteredStateMetaInfoBase> tuple2 : kvStateInformation.values()) {
  14. // snapshot meta info
  15. stateMetaInfoSnapshots.add(tuple2.f1.snapshot());
  16. metaDataCopy.add(tuple2);
  17. }
  18. final ResourceGuard.Lease lease = rocksDBResourceGuard.acquireResource();
  19. final Snapshot snapshot = db.getSnapshot();
  20. final SnapshotAsynchronousPartCallable asyncSnapshotCallable =
  21. new SnapshotAsynchronousPartCallable(
  22. checkpointStreamSupplier,
  23. lease,
  24. snapshot,
  25. stateMetaInfoSnapshots,
  26. metaDataCopy,
  27. primaryStreamFactory.toString());
  28. return asyncSnapshotCallable.toAsyncSnapshotFutureTask(cancelStreamRegistry);
  29. }

代码示例来源:origin: org.apache.flink/flink-statebackend-rocksdb_2.11

  1. AbstractRocksDBState<?, ?, SV, S> rocksDBState = (AbstractRocksDBState<?, ?, SV, S>) state;
  2. Snapshot rocksDBSnapshot = db.getSnapshot();
  3. try (
  4. RocksIteratorWrapper iterator = getRocksIterator(db, stateMetaInfo.f0);

代码示例来源:origin: org.apache.flink/flink-statebackend-rocksdb

  1. AbstractRocksDBState<?, ?, SV, S> rocksDBState = (AbstractRocksDBState<?, ?, SV, S>) state;
  2. Snapshot rocksDBSnapshot = db.getSnapshot();
  3. try (
  4. RocksIteratorWrapper iterator = getRocksIterator(db, stateMetaInfo.f0);

相关文章