• L
    Add blob file state to VersionEdit (#6416) · d87c10c6
    Levi Tamasi 提交于
    Summary:
    BlobDB currently does not keep track of blob files: no records are written to
    the manifest when a blob file is added or removed, and upon opening a database,
    the list of blob files is populated simply based on the contents of the blob directory.
    This means that lost blob files cannot be detected at the moment. We plan to solve
    this issue by making blob files a part of `Version`; as a first step, this patch makes
    it possible to store information about blob files in `VersionEdit`. Currently, this information
    includes blob file number, total number and size of all blobs, and total number and size
    of garbage blobs. However, the format is extensible: new fields can be added in
    both a forward compatible and a forward incompatible manner if needed (similarly
    to `kNewFile4`).
    Pull Request resolved: https://github.com/facebook/rocksdb/pull/6416
    
    Test Plan: `make check`
    
    Differential Revision: D19894234
    
    Pulled By: ltamasi
    
    fbshipit-source-id: f9753e1f2aedf6dadb70c09b345207cb9c58c329
    d87c10c6
Makefile 74.8 KB