Skip to content
  • Aaron Gao's avatar
    Add a test for tailing_iterator · b50a81a2
    Aaron Gao authored
    Summary:
    A bug that tailingIterator->Seek(target) skips records.
    
    I think the bug is in the SeekInternal starting at lines 387:
    search_left_bound > search_right_bound
    There are only 2 cases this can happen:
    (1) target key is smaller than left most file
    (2) target key is larger than right most file
    
    The comment is wrong, there is another possibility that at the higher level there is a big gap such that the file in the lower level fits completely in the gap and then
    indexer->GetNextLevelIndex returns search_left_bound > search_right_bound I think pointing on the files after and before the gap.
    details: https://github.com/facebook/rocksdb/issues/1372
    
    fixed this bug with test case added.
    Closes https://github.com/facebook/rocksdb/pull/1436
    
    Reviewed By: IslamAbdelRahman
    
    Differential Revision: D4099313
    
    Pulled By: lightmark
    
    fbshipit-source-id: 6a675b3
    b50a81a2