• M
    Features in Transaction log iterator · fe371396
    Mayank Agarwal 提交于
    Summary:
    * Logstore requests a valid change of reutrning an empty iterator and not an error in case of no log files.
    * Changed the code to return the writebatch containing the sequence number requested from GetupdatesSince even if it lies in the middle. Earlier we used to return the next writebatch,. This also allows me oto guarantee that no files played upon by the iterator are redundant. I mean the starting log file has at least a sequence number >= the sequence number requested form GetupdatesSince.
    * Cleaned up redundant logic in Iterator::Next and made a new function SeekToStartSequence for greater readability and maintainibilty.
    * Modified a test in db_test accordingly
    Please check the logic carefully and suggest improvements. I have a separate patch out for more improvements like restricting reader to read till written sequences.
    
    Test Plan:
    * transaction log iterator tests in db_test,
    * db_repl_stress.
    * rocks_log_iterator_test in fbcode/wormhole/rocksdb/test - 2 tests thriving on hacks till now can get simplified
    * testing on the shadow setup for sigma with replication
    
    Reviewers: dhruba, haobo, kailiu, sdong
    
    Reviewed By: dhruba
    
    CC: leveldb
    
    Differential Revision: https://reviews.facebook.net/D13437
    fe371396
transaction_log_impl.cc 5.8 KB