Andrew Kryczka
Andrew Kryczka
> regarding this part, is there a way/formula to know how much memory it will cost to pin the indexes? Or is this a try and find out kind of...
> cool, i'll check this out and just to double check, is unpartitioned_pinning = PinningTier::kAll more prefered than setting cache_index_and_filter_blocks to false? It is preferable if you want to use...
Yes, prefix filter should prevent thrashing for index block lookups. I didn't notice earlier that it's already enabled. Then, it's surprising that `BinarySearchIndexReader::NewIterator()` is consuming most of the CPU. Do...
Looks like the `*LEVEL_SEEK*` statistics are for iterators. The `*FILTERED` vs. `*DATA` can tell you the filtering rate. If you have a lot of other iterations happening, it could be...
It's as wide a scope as the `Statistics` object, which is at minimum one DB since it's configured in `DBOptions::statistics`. It could be multiple DBs if you configure multiple DBs...
Can we sync the WAL during DB close?
What are your settings for compaction style, TTL/periodic seconds, and how is data deleted? I am thinking there might be other ways to help with the compaction spikes particularly if...
Thanks for the info. I was wondering if you'd be interested in trying `compaction_pri = kRoundRobin`? Round-robin compaction style simply picks files within a level by cycling through them in...
Another way could be to append a marker record to the active WAL before switching it. Recovery would only continue to recover a newer WAL after seeing such a marker...
I guess we can use the recyclable record format for this marker record - https://github.com/facebook/rocksdb/wiki/Write-Ahead-Log-File-Format#the-recyclable-record-format. It has a log number that we can match against the log number in the...