使用现有检查点文件在 Java 中打开 RocksDB

问题描述

我有一个流管道,它使用 Rocksdbjni 6.15.2 来管理和检查点状态。我正在尝试在单独的离线 Scala 进程中使用这个相同的库来读取检查点文件,并做一些进一步的处理。

为了测试,我将检查点状态文件夹之一复制到本地文件夹:

ls /mnt/tmp/rocksdb/

010959.sst
CURRENT
MANIFEST-010701
OPTIONS-010704

然后运行这个简单的 Scala 程序:

import org.rocksdb.{Options,RocksDB}

val dbPath = "/mnt/tmp/rocksdb"
val options = new Options().setCreateIfMissing(false)

RocksDB.loadLibrary()
val db: RocksDB = RocksDB.open(options,dbPath)

并遇到此异常:org.rocksdb.RocksDBException: Corruption: IO error: No such file or directoryWhile open a file for random read: /mnt/tmp/rocksdb/010958.ldb: No such file or directory

有没有人遇到过这个异常?为什么 RocksDB 在这里寻找 .ldb 文件?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...