1. 21 Apr, 2018 1 commit
  2. 22 Jul, 2017 2 commits
  3. 16 Jul, 2017 1 commit
  4. 28 Apr, 2017 1 commit
  5. 14 Mar, 2017 1 commit
  6. 24 Feb, 2017 1 commit
  7. 17 Nov, 2016 1 commit
  8. 09 Nov, 2016 1 commit
    • Islam AbdelRahman's avatar
      Fix Forward Iterator Seek()/SeekToFirst() · 193221e0
      Islam AbdelRahman authored
      Summary:
      In ForwardIterator::SeekInternal(), we may end up passing empty Slice representing an internal key to InternalKeyComparator::Compare.
      and when we try to extract the user key from this empty Slice, we will create a slice with size = 0 - 8 ( which will overflow and cause us to read invalid memory as well )
      
      Scenarios to reproduce these issues are in the unit tests
      Closes https://github.com/facebook/rocksdb/pull/1467
      
      Differential Revision: D4136660
      
      Pulled By: lightmark
      
      fbshipit-source-id: 151e128
      193221e0
  9. 29 Oct, 2016 1 commit
    • 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
  10. 05 Mar, 2016 1 commit
    • sdong's avatar
      Change Property name from "rocksdb.current_version_number" to... · 294bdf9e
      sdong authored
      Change Property name from "rocksdb.current_version_number" to "rocksdb.current-super-version-number"
      
      Summary: I realized I again is wrong about the naming convention. Let me change it to the correct one.
      
      Test Plan: Run unit tests.
      
      Reviewers: IslamAbdelRahman, kradhakrishnan, yhchiang, andrewkr
      
      Reviewed By: andrewkr
      
      Subscribers: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D55041
      294bdf9e
  11. 03 Mar, 2016 1 commit
    • sdong's avatar
      Add Iterator Property rocksdb.iterator.version_number · e79ad9e1
      sdong authored
      Summary: We want to provide a way to detect whether an iterator is stale and needs to be recreated. Add a iterator property to return version number.
      
      Test Plan: Add two unit tests for it.
      
      Reviewers: IslamAbdelRahman, yhchiang, anthony, kradhakrishnan, andrewkr
      
      Reviewed By: andrewkr
      
      Subscribers: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D54921
      e79ad9e1
  12. 10 Feb, 2016 1 commit
  13. 16 Dec, 2015 1 commit
    • Gunnar Kudrjavets's avatar
      Fix minor bugs in delete operator, snprintf, and size_t usage · 97265f5f
      Gunnar Kudrjavets authored
      Summary:
      List of changes:
      
      1) Fix the snprintf() usage in cases where wrong variable was used to determine the output buffer size.
      
      2) Remove unnecessary checks before calling delete operator.
      
      3) Increase code correctness by using size_t type when getting vector's size.
      
      4) Unify the coding style by removing namespace::std usage at the top of the file to confirm to the majority usage.
      
      5) Fix various lint errors pointed out by 'arc lint'.
      
      Test Plan:
      Code review and build:
      
      git diff
      make clean
      make -j 32 commit-prereq
      arc lint
      
      Reviewers: kradhakrishnan, sdong, rven, anthony, yhchiang, igor
      
      Reviewed By: igor
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D51849
      97265f5f
  14. 14 Nov, 2015 1 commit
    • Venkatesh Radhakrishnan's avatar
      Reuse file iterators in tailing iterator when memtable is flushed · 7824444b
      Venkatesh Radhakrishnan authored
      Summary:
      Under a tailing workload, there were increased block cache
      misses when a memtable was flushed because we were rebuilding iterators
      in that case since the version set changed. This was exacerbated in the
      case of iterate_upper_bound, since file iterators which were over the
      iterate_upper_bound would have been deleted and are now brought back as
      part of the Rebuild, only to be deleted again. We now renew the iterators
      and only build iterators for files which are added and delete file
      iterators for files which are deleted.
      Refer to https://reviews.facebook.net/D50463 for previous version
      
      Test Plan: DBTestTailingIterator.TailingIteratorTrimSeekToNext
      
      Reviewers: anthony, IslamAbdelRahman, igor, tnovak, yhchiang, sdong
      
      Reviewed By: sdong
      
      Subscribers: yhchiang, march, dhruba, leveldb, lovro
      
      Differential Revision: https://reviews.facebook.net/D50679
      7824444b
  15. 23 Oct, 2015 1 commit
  16. 16 Oct, 2015 1 commit
    • Islam AbdelRahman's avatar
      Block tests under ROCKSDB_LITE · 6d730b4a
      Islam AbdelRahman authored
      Summary:
      This patch will block all tests (not including db_test) that don't compile / fail under ROCKSDB_LITE
      
      Test Plan:
      OPT=-DROCKSDB_LITE make db_compaction_filter_test -j64 &&
      OPT=-DROCKSDB_LITE make db_compaction_test -j64 &&
      OPT=-DROCKSDB_LITE make db_dynamic_level_test -j64 &&
      OPT=-DROCKSDB_LITE make db_log_iter_test -j64 &&
      OPT=-DROCKSDB_LITE make db_tailing_iter_test -j64 &&
      OPT=-DROCKSDB_LITE make db_universal_compaction_test -j64 &&
      OPT=-DROCKSDB_LITE make ldb_cmd_test -j64
      
      make clean
      
      make db_compaction_filter_test -j64 &&
      make db_compaction_test -j64 &&
      make db_dynamic_level_test -j64 &&
      make db_log_iter_test -j64 &&
      make db_tailing_iter_test -j64 &&
      make db_universal_compaction_test -j64 &&
      make ldb_cmd_test -j64
      
      Reviewers: yhchiang, igor, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba
      
      Differential Revision: https://reviews.facebook.net/D48723
      6d730b4a
  17. 13 Oct, 2015 1 commit
  18. 05 Sep, 2015 1 commit
  19. 02 Sep, 2015 1 commit
    • Tomislav Novak's avatar
      Fix a perf regression in ForwardIterator · 5508122e
      Tomislav Novak authored
      Summary:
      I noticed that memtable iterator usually crosses the `iterate_upper_bound`
      threshold when tailing. Changes introduced in D43833 made `NeedToSeekImmutable`
      always return true in such case, even when `Seek()` only needs to rewind the
      memtable iterator. In a test I ran, this caused the "tailing efficiency"
      (ratio of calls to `Seek()` that only affect the memtable versus all seeks)
      to drop almost to zero.
      
      This diff attempts to fix the regression by using a different flag to indicate
      that `current_` is over the limit instead of resetting `valid_` in
      `UpdateCurrent()`.
      
      Test Plan: `DBTestTailingIterator.TailingIteratorUpperBound`
      
      Reviewers: sdong, rven
      
      Reviewed By: rven
      
      Subscribers: dhruba, march
      
      Differential Revision: https://reviews.facebook.net/D45909
      5508122e
  20. 29 Aug, 2015 1 commit
    • Venkatesh Radhakrishnan's avatar
      Do not delete iterators for immutable memtables. · cb164bfc
      Venkatesh Radhakrishnan authored
      Summary:
      The immutable memtable iterators are allocated from an arena and there
      is no benefit from deleting these. Also the immutable memtables
      themselves will continue to be in memory until the version set
      containing it is alive. We will not remove immutable memtable iterators
      over the upper bound. We now add immutable iterators to the test.
      
      Test Plan: db_tailing_iter_test.TailingIteratorTrimSeekToNext
      
      Reviewers: tnovak, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D45597
      cb164bfc
  21. 26 Aug, 2015 3 commits
  22. 20 Aug, 2015 1 commit
  23. 19 Aug, 2015 1 commit
  24. 15 Jul, 2015 1 commit