• M
    Mark logs with prepare in PreReleaseCallback (#5121) · 5234fc1b
    Maysam Yabandeh 提交于
    Summary:
    In prepare phase of 2PC, the db promises to remember the prepared data, for possible future commits. To fulfill the promise the prepared data must be persisted in the WAL so that they could be recovered after a crash. The log that contains a prepare batch that is not committed yet, is marked so that it is not garbage collected before the transaction commits/rollbacks. The bug was that the write to the log file and the mark of the file was not atomic, and WAL gc could have happened before the WAL log is actually marked. This patch moves the marking logic to PreReleaseCallback so that the WAL gc logic that joins both write threads would see the WAL write and WAL mark atomically.
    Pull Request resolved: https://github.com/facebook/rocksdb/pull/5121
    
    Differential Revision: D14665210
    
    Pulled By: maysamyabandeh
    
    fbshipit-source-id: 1d66aeb1c66a296cb4899a5a20c4d40c59e4b534
    5234fc1b
可在Tags中查看这些版本中当前仓库的状态.
HISTORY.md 75.2 KB