More checks

This commit is contained in:
Andrea Cavalli 2023-09-20 00:56:21 +02:00
parent 0caffbfa79
commit e4ec49e9aa
1 changed files with 15 additions and 5 deletions

View File

@ -50,6 +50,7 @@ public class RocksIteratorObj extends SimpleResource {
public synchronized void seek(byte[] seekArray) throws RocksDBException {
ensureOpen();
rocksIterator.status();
startedIterSeek.increment();
try {
iterSeekTime.record(() -> rocksIterator.seek(seekArray));
@ -84,10 +85,14 @@ public class RocksIteratorObj extends SimpleResource {
/**
* Useful for reverse iterations
*/
public synchronized void seekFrom(Buf key) {
public synchronized void seekFrom(Buf key) throws RocksDBException {
ensureOpen();
var keyArray = LLUtils.asArray(key);
rocksIterator.seekForPrev(keyArray);
try {
rocksIterator.seekForPrev(keyArray);
} finally {
}
rocksIterator.status();
// This is useful to retain the key buffer in memory and avoid deallocations
this.seekingFrom = keyArray;
}
@ -95,12 +100,17 @@ public class RocksIteratorObj extends SimpleResource {
/**
* Useful for forward iterations
*/
public synchronized void seekTo(Buf key) {
public synchronized void seekTo(Buf key) throws RocksDBException {
ensureOpen();
rocksIterator.status();
var keyArray = LLUtils.asArray(key);
startedIterSeek.increment();
iterSeekTime.record(() -> rocksIterator.seek(keyArray));
endedIterSeek.increment();
try {
iterSeekTime.record(() -> rocksIterator.seek(keyArray));
} finally {
endedIterSeek.increment();
}
rocksIterator.status();
// This is useful to retain the key buffer in memory and avoid deallocations
this.seekingTo = keyArray;
}