Andrew Kryczka
Andrew Kryczka
Similar to #5506, but moved range tombstone aware logic from `BlockBasedTableIterator` into `MergingIterator` since `RangeDelAggregator` has the same scope as `MergingIterator`. Now the optimized seek only happens during forward/backward scan,...
Previously, the flushes triggered by `WriteBufferManager` could affect the same CF repeatedly if it happens to get consecutive writes. Such flushes are not particularly useful for reducing memory usage since...
`GetOptionsFromString()` and `SetBytesPerSecond()` are now included in `set_options_one_in`. `GetOptionsFromString()`'s current behavior actually involves invoking `PrepareOptions()` on existing shared option objects that may be in-use by a DB. While this has...
This issue is a next step mentioned in my blog post (https://rocksdb.org/blog/2022/10/05/lost-buffered-write-recovery.html): An untested guarantee is that RocksDB recovers all writes that the user explicitly flushed out of the buffers...
> Note: Please use Issues only for bug reports. For questions, discussions, feature requests, etc. post to dev group: https://groups.google.com/forum/#!forum/rocksdb or https://www.facebook.com/groups/rocksdb.dev ### Expected behavior The performance regression results have...
Current methods can only detect missing records in certain scenarios. One scenario not covered is clean truncation, which is when the WAL is truncated to an exact record boundary. The...
I think the point of the `if (end_of_buffer_offset_ - buffer_.size() == 0)` was to only set `recycled_` when the first record was read. However, the condition was false when reading...