• Y
    Add user-defined timestamps to db_stress (#8061) · 08144bc2
    Yanqin Jin 提交于
    Summary:
    Add some basic test for user-defined timestamp to db_stress. Currently,
    read with timestamp always tries to read using the current timestamp.
    Due to the per-key timestamp-sequence ordering constraint, we only add timestamp-
    related tests to the `NonBatchedOpsStressTest` since this test serializes accesses
    to the same key and uses a file to cross-check data correctness.
    The timestamp feature is not supported in a number of components, e.g. Merge, SingleDelete,
    DeleteRange, CompactionFilter, Readonly instance, secondary instance, SST file ingestion, transaction,
    etc. Therefore, db_stress should exit if user enables both timestamp and these features at the same
    time. The (currently) incompatible features can be found in
    `CheckAndSetOptionsForUserTimestamp`.
    
    This PR also fixes a bug triggered when timestamp is enabled together with
    `index_type=kBinarySearchWithFirstKey`. This bug fix will also be in another separate PR
    with more unit tests coverage. Fixing it here because I do not want to exclude the index type
    from crash test.
    
    Pull Request resolved: https://github.com/facebook/rocksdb/pull/8061
    
    Test Plan: make crash_test_with_ts
    
    Reviewed By: jay-zhuang
    
    Differential Revision: D27056282
    
    Pulled By: riversand963
    
    fbshipit-source-id: c3e00ad1023fdb9ebbdf9601ec18270c5e2925a9
    08144bc2
Makefile 91.0 KB