Repository navigation
Releases: killcerr/rocksdb-storage
Releases · killcerr/rocksdb-storage
Release list
v0.0.1
Added
- RocksDB-backed world storage:
leveldb::DB::Openis hooked (LL_AUTO_STATIC_HOOKon the 23-byte
prologue,_sig) and MC receives anMcRocksDbthat implements the realleveldb::DBvtable, backed
by RocksDB (rocksdb v11.1.2, no compression, 4 MB write buffer, 4 KB blocks, 80 MB LRU block cache,
bloom filter 10). - One-time migration of an existing LevelDB world into a sibling
rocksdbdirectory, batched in 4096-key
WriteBatches, flushed and WAL-synced; the LevelDBdbdirectory is left untouched. Failed migrations
abort non-destructively and reportIOError. config.json(enabled,migrateExisting) loaded throughll::config.- Vendored
origin/mainsources of Mojang's LevelDB fork (src/leveldb,src/db,src/util) so the
interception boundary uses the realleveldb::classes instead of a mirrored ABI.
Fixed
McRocksDb::Getnow accepts a nullvalue, which MC uses as an existence probe (Mojang's LevelDB only
copies the payload when a string is given:MemTable::Get,Version::Get). RocksDB always copies, so
the value is read into aPinnableSliceand dropped. Previously this aborted the server at world load.