1. 04 3月, 2013 1 次提交
    • D
      Ability for rocksdb to compact when flushing the in-memory memtable to a file in L0. · 806e2643
      Dhruba Borthakur 提交于
      Summary:
      Rocks accumulates recent writes and deletes in the in-memory memtable.
      When the memtable is full, it writes the contents on the memtable to
      a file in L0.
      
      This patch removes redundant records at the time of the flush. If there
      are multiple versions of the same key in the memtable, then only the
      most recent one is dumped into the output file. The purging of
      redundant records occur only if the most recent snapshot is earlier
      than the earliest record in the memtable.
      
      Should we switch on this feature by default or should we keep this feature
      turned off in the default settings?
      
      Test Plan: Added test case to db_test.cc
      
      Reviewers: sheki, vamsi, emayanke, heyongqiang
      
      Reviewed By: sheki
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D8991
      806e2643
  2. 04 1月, 2013 1 次提交
    • K
      Fixing and adding some comments · 8cd86a7b
      Kosie van der Merwe 提交于
      Summary:
      `MemTableList::Add()` neglected to mention that it took ownership of the reference held by its caller.
      
      The comment in `MemTable::Get()` was wrong in describing the format of the key.
      
      Test Plan: None
      
      Reviewers: dhruba, sheki, emayanke, vamsi
      
      Reviewed By: dhruba
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D7755
      8cd86a7b
  3. 29 11月, 2012 1 次提交
    • A
      Fix all the lint errors. · d29f1819
      Abhishek Kona 提交于
      Summary:
      Scripted and removed all trailing spaces and converted all tabs to
      spaces.
      
      Also fixed other lint errors.
      All lint errors from this point of time should be taken seriously.
      
      Test Plan: make all check
      
      Reviewers: dhruba
      
      Reviewed By: dhruba
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D7059
      d29f1819
  4. 20 10月, 2012 1 次提交
    • D
      This is the mega-patch multi-threaded compaction · 1ca05843
      Dhruba Borthakur 提交于
      published in https://reviews.facebook.net/D5997.
      
      Summary:
      This patch allows compaction to occur in multiple background threads
      concurrently.
      
      If a manual compaction is issued, the system falls back to a
      single-compaction-thread model. This is done to ensure correctess
      and simplicity of code. When the manual compaction is finished,
      the system resumes its concurrent-compaction mode automatically.
      
      The updates to the manifest are done via group-commit approach.
      
      Test Plan: run db_bench
      1ca05843
  5. 01 11月, 2011 1 次提交
    • H
      A number of fixes: · 36a5f8ed
      Hans Wennborg 提交于
      - Replace raw slice comparison with a call to user comparator.
        Added test for custom comparators.
      
      - Fix end of namespace comments.
      
      - Fixed bug in picking inputs for a level-0 compaction.
      
        When finding overlapping files, the covered range may expand
        as files are added to the input set.  We now correctly expand
        the range when this happens instead of continuing to use the
        old range.  For example, suppose L0 contains files with the
        following ranges:
      
            F1: a .. d
            F2:    c .. g
            F3:       f .. j
      
        and the initial compaction target is F3.  We used to search
        for range f..j which yielded {F2,F3}.  However we now expand
        the range as soon as another file is added.  In this case,
        when F2 is added, we expand the range to c..j and restart the
        search.  That picks up file F1 as well.
      
        This change fixes a bug related to deleted keys showing up
        incorrectly after a compaction as described in Issue 44.
      
      (Sync with upstream @25072954)
      36a5f8ed
  6. 22 6月, 2011 1 次提交
    • G
      A number of smaller fixes and performance improvements: · ccf0fcd5
      gabor@google.com 提交于
      - Implemented Get() directly instead of building on top of a full
        merging iterator stack.  This speeds up the "readrandom" benchmark
        by up to 15-30%.
      
      - Fixed an opensource compilation problem.
        Added --db=<name> flag to control where the database is placed.
      
      - Automatically compact a file when we have done enough
        overlapping seeks to that file.
      
      - Fixed a performance bug where we would read from at least one
        file in a level even if none of the files overlapped the key
        being read.
      
      - Makefile fix for Mac OSX installations that have XCode 4 without XCode 3.
      
      - Unified the two occurrences of binary search in a file-list
        into one routine.
      
      - Found and fixed a bug where we would unnecessarily search the
        last file when looking for a key larger than all data in the
        level.
      
      - A fix to avoid the need for trivial move compactions and
        therefore gets rid of two out of five syncs in "fillseq".
      
      - Removed the MANIFEST file write when switching to a new
        memtable/log-file for a 10-20% improvement on fill speed on ext4.
      
      - Adding a SNAPPY setting in the Makefile for folks who have
        Snappy installed. Snappy compresses values and speeds up writes.
      
      
      
      git-svn-id: https://leveldb.googlecode.com/svn/trunk@32 62dab493-f737-651d-591e-8d6aee1b9529
      ccf0fcd5
  7. 21 5月, 2011 1 次提交
  8. 20 4月, 2011 2 次提交
  9. 19 4月, 2011 1 次提交
  10. 13 4月, 2011 1 次提交
  11. 31 3月, 2011 1 次提交
  12. 19 3月, 2011 1 次提交