You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
total_payload_bytes_written is the bytes writes to SSTs. When BlobDB is enabled , However, the values write to blob file will also be considered as garbage.
The text was updated successfully, but these errors were encountered:
Seems to me there's more to this than the stats being off: mempurge jobs are not supposed to write blob files in the first place (in other words, large values are supposed to be extracted only by actual flush jobs).
ltamasi
changed the title
statistics rocksdb.memtable.garbage.bytes.at.flush is not correct for BlobDB
Mempurge should avoid writing blob files
Oct 12, 2021
Actually, I misread the code: there is no BlobFileBuilder in use in mempurge jobs, and the ticker @CkTD mentioned is incremented only in real flush jobs. So the underlying issue is related to the statistics, as originally reported. (There is actually a comment in the code mentioning this limitation: https://github.com/facebook/rocksdb/blob/main/db/builder.cc#L271-L272.) Sorry about the noise...
ltamasi
changed the title
Mempurge should avoid writing blob files
Mempurge garbage bytes ticker does not consider some value types or data written to blob files
Oct 18, 2021
rocksdb.memtable.garbage.bytes.at.flush is outdated bytes of data present on memtable at flush time.
It is calculated by total_payload_bytes - total_payload_bytes_written.
rocksdb/db/builder.cc
Line 275 in 6c3bf83
total_payload_bytes_written is the bytes writes to SSTs. When BlobDB is enabled , However, the values write to blob file will also be considered as garbage.
The text was updated successfully, but these errors were encountered: