我有一个使用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
文件?