• C
    Fix subcompaction bug to allow running two subcompactions (#11501) · 2e8cc98a
    Changyu Bi 提交于
    Summary:
    as reported in https://github.com/facebook/rocksdb/issues/11476, RocksDB currently does not execute compactions in two subcompactions even when they qualify. This PR fixes this issue.
    
    Pull Request resolved: https://github.com/facebook/rocksdb/pull/11501
    
    Test Plan:
    * Add a new unit test.
    * Run crash test with max_subcompactions=2: `python3 tools/db_crashtest.py blackbox --simple  --subcompactions=2 --target_file_size_base=1048576 --compaction_style=0`
      * saw logs showing compactions being executed as 2 subcompactions
    ```
    2023/06/01-17:28:44.028470 3147486 (Original Log Time 2023/06/01-17:28:44.025972) EVENT_LOG_v1 {"time_micros": 1685665724025939, "job": 6, "event": "compaction_finished", "compaction_time_micros": 34539, "compaction_time_cpu_micros": 26404, "output_level": 6, "num_output_files": 2, "total_output_size": 1109796, "num_input_records": 13188, "num_output_records": 13021, "num_subcompactions": 2, "output_compression": "NoCompression", "num_single_delete_mismatches": 0, "num_single_delete_fallthrough": 0, "lsm_state": [0, 0, 0, 0, 0, 0, 13]}
    ```
    
    Reviewed By: ajkr
    
    Differential Revision: D46411497
    
    Pulled By: cbi42
    
    fbshipit-source-id: 3ebfc02e19f78f782e114a9546dc3d481d496258
    2e8cc98a
subcompaction_2.md 113 字节