• Maysam Yabandeh's avatar
    WritePrepared Txn: Optimize for recoverable state · 17731a43
    Maysam Yabandeh authored
    GetCommitTimeWriteBatch is currently used to store some state as part of commit in 2PC. In MyRocks it is specifically used to store some data that would be needed only during recovery. So it is not need to be stored in memtable right after each commit.
    This patch enables an optimization to write the GetCommitTimeWriteBatch only to the WAL. The batch will be written to memtable during recovery when the WAL is replayed. To cover the case when WAL is deleted after memtable flush, the batch is also buffered and written to memtable right before each memtable flush.
    Closes https://github.com/facebook/rocksdb/pull/3071
    Differential Revision: D6148023
    Pulled By: maysamyabandeh
    fbshipit-source-id: 2d09bae5565abe2017c0327421010d5c0d55eaa7