• C
    Eliminates a no-op compaction upon snapshot release when disabling auto compactions (#7267) · 416943bf
    Connor1996 提交于
    Summary:
    After releasing a snapshot, it checks whether it is suitable to trigger bottom compactions.
    When disabling auto compactions, it may still schedule compaction when releasing a snapshot. Whereas no compaction job will be actually handled, so the state of LSM is not changed and compaction will be triggered again and again every time releasing a snapshot.
    
    Too frequent compactions lead to high CPU usage and high db_mutex lock contention which affects foreground write duration finally.
    
    Pull Request resolved: https://github.com/facebook/rocksdb/pull/7267
    
    Test Plan:
    - make check
    - manual test
    
    Reviewed By: akankshamahajan15
    
    Differential Revision: D23252880
    
    Pulled By: ajkr
    
    fbshipit-source-id: 4431e071a35d9912a2a3592875db27bae521434b
    416943bf
column_family.cc 59.4 KB