1. 26 8月, 2014 2 次提交
  2. 18 7月, 2014 1 次提交
  3. 11 7月, 2014 1 次提交
    • S
      Removing NewTotalOrderPlainTableFactory · 30c81e77
      Stanislau Hlebik 提交于
      Summary:
      Seems like NewTotalOrderPlainTableFactory is useless and is semantically incorrect.
      Total order mode indicator is prefix_extractor == nullptr,
      but NewTotalOrderPlainTableFactory doesn't set it to be nullptr. That's why some tests
      in plain_table_db_tests is incorrect.
      
      Test Plan: make all check
      
      Reviewers: sdong
      
      Reviewed By: sdong
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D19587
      30c81e77
  4. 20 6月, 2014 1 次提交
    • I
      Remove seek compaction · d4a84233
      Igor Canadi 提交于
      Summary:
      As discussed in our internal group, we don't get much use of seek compaction at the moment, while it's making code more complicated and slower in some cases.
      
      This diff removes seek compaction and (hopefully) all code that was introduced to support seek compaction.
      
      There is one test case that relied on didIO information. I'll try to find another way to implement it.
      
      Test Plan: make check
      
      Reviewers: sdong, haobo, yhchiang, ljin, dhruba
      
      Reviewed By: ljin
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D19161
      d4a84233
  5. 19 6月, 2014 1 次提交
    • H
      [RocksDB] Reduce memory footprint of the blockbased table hash index. · 0f0076ed
      Haobo Xu 提交于
      Summary:
      Currently, the in-memory hash index of blockbased table uses a precise hash map to track the prefix to block range mapping. In some use cases, especially when prefix itself is big, the memory overhead becomes a problem. This diff introduces a fixed hash bucket array that does not store the prefix and allows prefix collision, which is similar to the plaintable hash index, in order to reduce the memory consumption.
      Just a quick draft, still testing and refining.
      
      Test Plan: unit test and shadow testing
      
      Reviewers: dhruba, kailiu, sdong
      
      Reviewed By: sdong
      
      Subscribers: leveldb
      
      Differential Revision: https://reviews.facebook.net/D19047
      0f0076ed
  6. 02 5月, 2014 1 次提交
  7. 26 4月, 2014 1 次提交
  8. 11 4月, 2014 1 次提交
  9. 13 3月, 2014 1 次提交
    • I
      [CF] Code cleanup part 1 · fb2346fc
      Igor Canadi 提交于
      Summary:
      I'm cleaning up some code preparing for the big diff review tomorrow. This is the first part of the cleanup.
      
      Changes are mostly cosmetic. The goal is to decrease amount of code difference between columnfamilies and master branch.
      
      This diff also fixes race condition when dropping column family.
      
      Test Plan: Ran db_stress with variety of parameters
      
      Reviewers: dhruba, haobo
      
      Differential Revision: https://reviews.facebook.net/D16833
      fb2346fc
  10. 11 3月, 2014 1 次提交
    • L
      Consolidate SliceTransform object ownership · 8d007b4a
      Lei Jin 提交于
      Summary:
      (1) Fix SanitizeOptions() to also check HashLinkList. The current
      dynamic case just happens to work because the 2 classes have the same
      layout.
      (2) Do not delete SliceTransform object in HashSkipListFactory and
      HashLinkListFactory destructor. Reason: SanitizeOptions() enforces
      prefix_extractor and SliceTransform to be the same object when
      Hash**Factory is used. This makes the behavior strange: when
      Hash**Factory is used, prefix_extractor will be released by RocksDB. If
      other memtable factory is used, prefix_extractor should be released by
      user.
      
      Test Plan: db_bench && make asan_check
      
      Reviewers: haobo, igor, sdong
      
      Reviewed By: igor
      
      CC: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D16587
      8d007b4a
  11. 04 3月, 2014 1 次提交
  12. 01 3月, 2014 2 次提交
    • K
      Make the block-based table's index pluggable · 74939a9e
      kailiu 提交于
      Summary:
      This patch introduced a new table options that allows us to make
      block-based table's index pluggable.
      
      To support that new features:
      
      * Code has been refacotred to be more flexible and supports this option well.
      * More documentation is added for the existing obsecure functionalities.
      * Big surgeon on DataBlockReader(), where the logic was really convoluted.
      * Other small code cleanups.
      
      The pluggablility will mostly affect development of internal modules
      and won't change frequently, as a result I intentionally avoid
      heavy-weight patterns (like factory) and try to make it simple.
      
      Test Plan: make all check
      
      Reviewers: haobo, sdong
      
      Reviewed By: sdong
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D16395
      74939a9e
    • K
      Remove the terrible hack in for flush_block_policy_factory · bf86af51
      kailiu 提交于
      Summary:
      Previous code is too convoluted and I must be drunk for letting
      such code to be written without a second thought.
      
      Thanks to the discussion with @sdong, I added the `Options` when
      generating the flusher, thus avoiding the tricks.
      
      Just FYI: I resisted to add Options in flush_block_policy.h since I
      wanted to avoid cyclic dependencies: FlushBlockPolicy dpends on Options
      and Options also depends FlushBlockPolicy... While I appreciate my
      effort to prevent it, the old design turns out creating more troubles than
      it tried to avoid.
      
      Test Plan: ran ./table_test
      
      Reviewers: sdong
      
      Reviewed By: sdong
      
      CC: sdong, leveldb
      
      Differential Revision: https://reviews.facebook.net/D16503
      bf86af51
  13. 20 2月, 2014 1 次提交
  14. 13 2月, 2014 2 次提交
  15. 11 2月, 2014 1 次提交
  16. 09 2月, 2014 1 次提交
  17. 08 2月, 2014 3 次提交
    • K
      Fix the valgrind error in table test. · 9a270f3f
      Kai Liu 提交于
      9a270f3f
    • K
      Make table properties shareable · 161ab42a
      kailiu 提交于
      Summary:
      We are going to expose properties of all tables to end users through "some" db interface.
      However, current design doesn't naturally fit for this need, which is because:
      
      1. If a table presents in table cache, we cannot simply return the reference to its table properties, because the table may be destroy after compaction (and we don't want to hold the ref of the version).
      2. Copy table properties is OK, but it's slow.
      
      Thus in this diff, I change the table reader's interface to return a shared pointer (for const table properties), instead a const refernce.
      
      Test Plan: `make check` passed
      
      Reviewers: haobo, sdong, dhruba
      
      Reviewed By: haobo
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D15999
      161ab42a
    • Y
      Add support for plain table format to sst_dump. · 3ce8d9a9
      Yueh-Hsuan Chiang 提交于
      Summary:
      This diff enables the command line tool `sst_dump` to work for sst files
      under plain table format.  Changes include:
        * In tools/sst_dump.cc:
          - add support for plain table format
          - display prefix_extractor information when --show_properties is on
        * In table/format.cc
          - Now the table magic number of a Footer can be later initialized
            via ReadFooterFromFile().
        * In table/meta_bocks:
          - add function ReadTableMagicNumber() that reads the magic number of
            the specified file.
      
      Minor fixes:
       - remove a duplicate #include in table/table_test.cc
       - fix a commentary typo in include/rocksdb/memtablerep.h
       - fix lint errors.
      
      Test Plan:
      Runs sst_dump with both block-based and plain-table format files with
      different arguments, specifically those with --show-properties and --from.
      
      * sample output:
        https://reviews.facebook.net/P261
      
      Reviewers: kailiu, sdong, xjin
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D15903
      3ce8d9a9
  18. 07 2月, 2014 1 次提交
    • I
      [CF] Propagate correct options to WriteBatch::InsertInto · 8fa8a708
      Igor Canadi 提交于
      Summary:
      WriteBatch can have multiple column families in one batch. Every column family has different options. So we have to add a way for write batch to get options for an arbitrary column family.
      
      This required a bit more acrobatics since lots of interfaces had to be changed.
      
      Test Plan: make check
      
      Reviewers: dhruba, haobo, sdong, kailiu
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D15957
      8fa8a708
  19. 04 2月, 2014 1 次提交
  20. 03 2月, 2014 1 次提交
  21. 31 1月, 2014 1 次提交
    • K
      Clean up arena API · 4e0298f2
      kailiu 提交于
      Summary:
      Easy thing goes first. This patch moves arena to internal dir; based
      on which, the coming patch will deal with memtable_rep.
      
      Test Plan: make check
      
      Reviewers: haobo, sdong, dhruba
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D15615
      4e0298f2
  22. 28 1月, 2014 1 次提交
  23. 25 1月, 2014 4 次提交
    • K
      Some refactorings on plain table · 4b51dffc
      Kai Liu 提交于
      Summary:
      Plain table has been working well and this is just a nit-picking patch,
      which is generated during my coding reading. No real functional changes.
      only some changes regarding:
      
      * Improve some comments from the perspective a "new" code reader.
      * Change some magic number to constant, which can help us to parameterize them
        in the future.
      * Did some style, naming, C++ convention changes.
      * Fix warnings from new "arc lint"
      
      Test Plan: make check
      
      Reviewers: sdong, haobo
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D15429
      4b51dffc
    • K
      Re-org the table tests · 0ab76613
      Kai Liu 提交于
      Summary:
      We'll divide the table tests into 3 buckets, plain table test, block-based table test and general table feature test.
      This diff does no real change and only does the rename and reorg.
      
      Test Plan: run table_test
      
      Reviewers: sdong, haobo, igor, dhruba
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D15417
      0ab76613
    • K
      Some small refactorings on table_test · 7d991be4
      Kai Liu 提交于
      Summary:
      
      Just revise some hard-to-read or unnecessarily verbose code.
      
      Test Plan:
      
      make check
      7d991be4
    • K
      Temporarily disable caching index/filter blocks · 66dc033a
      kailiu 提交于
      Summary:
      Mixing index/filter blocks with data blocks resulted in some known
      issues.  To make sure in next release our users won't be affected,
      we added a new option in BlockBasedTableFactory::TableOption to
      conceal this functionality for now.
      
      This patch also introduced a BlockBasedTableReader::OpenOptions,
      which avoids the "infinite" growth of parameters in
      BlockBasedTableReader::Open().
      
      Test Plan: make check
      
      Reviewers: haobo, sdong, igor, dhruba
      
      Reviewed By: igor
      
      CC: leveldb, tnovak
      
      Differential Revision: https://reviews.facebook.net/D15327
      66dc033a
  24. 18 1月, 2014 1 次提交
  25. 15 1月, 2014 1 次提交
  26. 04 1月, 2014 2 次提交
  27. 21 12月, 2013 1 次提交
  28. 14 12月, 2013 1 次提交
    • K
      Add the property block for the plain table · 2e9efcd6
      Kai Liu 提交于
      Summary:
      This is the last diff that adds the property block to plain table.
      The format resembles that of the block-based table: https://github.com/facebook/rocksdb/wiki/Rocksdb-table-format
      
        [data block]
        [meta block 1: stats block]
        [meta block 2: future extended block]
        ...
        [meta block K: future extended block]  (we may add more meta blocks in the future)
        [metaindex block]
        [index block: we only have the placeholder here, we can add persistent index block in the future]
        [Footer: contains magic number, handle to metaindex block and index block]
        <end_of_file>
      
      Test Plan: extended existing property block test.
      
      Reviewers: haobo, sdong, dhruba
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D14523
      2e9efcd6
  29. 06 12月, 2013 1 次提交
  30. 04 12月, 2013 1 次提交
    • I
      Get rid of some shared_ptrs · 043fc14c
      Igor Canadi 提交于
      Summary:
      I went through all remaining shared_ptrs and removed the ones that I found not-necessary. Only GenerateCachePrefix() is called fairly often, so don't expect much perf wins.
      
      The ones that are left are accessed infrequently and I think we're fine with keeping them.
      
      Test Plan: make asan_check
      
      Reviewers: dhruba, haobo
      
      Reviewed By: dhruba
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D14427
      043fc14c
  31. 02 12月, 2013 1 次提交