• Y
    Add utils to use for handling user defined timestamp size record in WAL (#11451) · 11ebddb1
    Yu Zhang 提交于
    Summary:
    Add a util method `HandleWriteBatchTimestampSizeDifference` to handle a `WriteBatch` read from WAL log when user-defined timestamp size record is written and read. Two check modes are added: `kVerifyConsistency` that just verifies the recorded timestamp size are consistent with the running ones. This mode is to be used by `db_impl_secondary` for opening a DB as secondary instance. It will also be used by `db_impl_open` before the user comparator switch support is added to make a column switch between enabling/disable UDT feature. The other mode `kReconcileInconsistency` will be used by `db_impl_open` later when user comparator can be changed.
    
    Another change is to extract a method `CollectColumnFamilyIdsFromWriteBatch` in db_secondary_impl.h into its standalone util file so it can be shared.
    
    Pull Request resolved: https://github.com/facebook/rocksdb/pull/11451
    
    Test Plan:
    ```
    make check
    ./udt_util_test
    ```
    
    Reviewed By: ltamasi
    
    Differential Revision: D45894386
    
    Pulled By: jowlyzhang
    
    fbshipit-source-id: b96790777f154cddab6d45d9ba2e5d20ebc6fe9d
    11ebddb1
CMakeLists.txt 56.1 KB