• L
    Add a class for measuring the amount of garbage generated during compaction (#8426) · 065bea15
    Levi Tamasi 提交于
    Summary:
    This is part of an alternative approach to https://github.com/facebook/rocksdb/issues/8316.
    Unlike that approach, this one relies on key-values getting processed one by one
    during compaction, and does not involve persistence.
    
    Specifically, the patch adds a class `BlobGarbageMeter` that can track the number
    and total size of blobs in a (sub)compaction's input and output on a per-blob file
    basis. This information can then be used to compute the amount of additional
    garbage generated by the compaction for any given blob file by subtracting the
    "outflow" from the "inflow."
    
    Note: this patch only adds `BlobGarbageMeter` and associated unit tests. I plan to
    hook up this class to the input and output of `CompactionIterator` in a subsequent PR.
    
    Pull Request resolved: https://github.com/facebook/rocksdb/pull/8426
    
    Test Plan: `make check`
    
    Reviewed By: jay-zhuang
    
    Differential Revision: D29242250
    
    Pulled By: ltamasi
    
    fbshipit-source-id: 597e50ad556540e413a50e804ba15bc044d809bb
    065bea15
Makefile 87.1 KB