RoksDB#multiGetAsList() should throw error with code Status.Code.Corruption if db file is corrupt.
Actual behavior
We use rocksdb JNI and have a test that corrupts db files and issues a read using RocksDB#get(), it except throws error with status code Status.Code.Corruption (due to checksum mismatch). However, if a read issued using RoksDB#multiGetAsList() , simply returns a list of size 1 with a null value in it.
Steps to reproduce the behavior
Open RocksDB with paranoid checks
Issue a few writes
Corrupt the db file (you can do it manually)
Issue a read for a key (added in Step 2) using RocksDB#get() and verify it fails with exception with error code Status.Code.Corruption
Now issue a read for a key (added in Step 2) using RocksDB#multiGetAsList(), it doesn't fail with exception with error code Status.Code.Corruption but returns a list with a null element in it
Expected behavior
RoksDB#multiGetAsList()
should throw error with codeStatus.Code.Corruption
if db file is corrupt.Actual behavior
We use rocksdb JNI and have a test that corrupts db files and issues a read using
RocksDB#get()
, it except throws error with status codeStatus.Code.Corruption
(due to checksum mismatch). However, if a read issued usingRoksDB#multiGetAsList()
, simply returns a list of size 1 with a null value in it.Steps to reproduce the behavior
RocksDB#get()
and verify it fails with exception with error codeStatus.Code.Corruption
RocksDB#multiGetAsList()
, it doesn't fail with exception with error codeStatus.Code.Corruption
but returns a list with anull
element in it