1. 09 2月, 2017 3 次提交
  2. 08 2月, 2017 4 次提交
  3. 07 2月, 2017 3 次提交
    • M
      Two-level Indexes · 69d5262c
      Maysam Yabandeh 提交于
      Summary:
      Partition Index blocks and use a Partition-index as a 2nd level index.
      
      The two-level index can be used by setting
      BlockBasedTableOptions::kTwoLevelIndexSearch as the index type and
      configuring BlockBasedTableOptions::index_per_partition
      
      t15539501
      Closes https://github.com/facebook/rocksdb/pull/1814
      
      Differential Revision: D4473535
      
      Pulled By: maysamyabandeh
      
      fbshipit-source-id: bffb87e
      69d5262c
    • D
      Windows thread · 0a4cdde5
      Dmitri Smirnov 提交于
      Summary:
      introduce new methods into a public threadpool interface,
      - allow submission of std::functions as they allow greater flexibility.
      - add Joining methods to the implementation to join scheduled and submitted jobs with
        an option to cancel jobs that did not start executing.
      - Remove ugly `#ifdefs` between pthread and std implementation, make it uniform.
      - introduce pimpl for a drop in replacement of the implementation
      - Introduce rocksdb::port::Thread typedef which is a replacement for std::thread.  On Posix Thread defaults as before std::thread.
      - Implement WindowsThread that allocates memory in a more controllable manner than windows std::thread with a replaceable implementation.
      - should be no functionality changes.
      Closes https://github.com/facebook/rocksdb/pull/1823
      
      Differential Revision: D4492902
      
      Pulled By: siying
      
      fbshipit-source-id: c74cb11
      0a4cdde5
    • V
      Adding GetApproximateMemTableStats method · 1aaa898c
      Vitaliy Liptchinsky 提交于
      Summary:
      Added method that returns approx num of entries as well as size for memtables.
      Closes https://github.com/facebook/rocksdb/pull/1841
      
      Differential Revision: D4511990
      
      Pulled By: VitaliyLi
      
      fbshipit-source-id: 9a4576e
      1aaa898c
  4. 04 2月, 2017 3 次提交
  5. 03 2月, 2017 4 次提交
  6. 02 2月, 2017 2 次提交
  7. 01 2月, 2017 2 次提交
  8. 28 1月, 2017 2 次提交
  9. 27 1月, 2017 5 次提交
  10. 26 1月, 2017 6 次提交
    • A
      Generalize Env registration framework · 17c11806
      Andrew Kryczka 提交于
      Summary:
      The Env registration framework supports registering client Envs and selecting which one to instantiate according to a text field. This enabled things like adding the -env_uri argument to db_bench, so the same binary could be reused with different Envs just by changing CLI config.
      
      Now this problem has come up again in a non-Env context, as I want to instantiate a client Statistics implementation from db_bench, which is configured entirely via text parameters. Also, in the future we may wish to use it for deserializing client objects when loading OPTIONS file.
      
      This diff generalizes the Env registration logic to work with arbitrary types.
      
      - Generalized registration and instantiation code by templating them
      - The entire implementation is in a header file as that's Google style guide's recommendation for template definitions
      - Pattern match with std::regex_match rather than checking prefix, which was the previous behavior
      - Rename functions/files to be non-Env-specific
      Closes https://github.com/facebook/rocksdb/pull/1776
      
      Differential Revision: D4421933
      
      Pulled By: ajkr
      
      fbshipit-source-id: 34647d1
      17c11806
    • S
      EnvPosixTestWithParam should wait for all threads to finish · 07dddd5f
      sdong 提交于
      Summary:
      If we don't wait for the threads to finish after each run, the thread queue may not be empty while the next test starts to run, which can cause unexpected behaviors.
      
      Also make some of the relaxed read/write more restrict.
      Closes https://github.com/facebook/rocksdb/pull/1590
      
      Reviewed By: AsyncDBConnMarkedDownDBException
      
      Differential Revision: D4245922
      
      Pulled By: AsyncDBConnMarkedDownDBException
      
      fbshipit-source-id: f83b74b
      07dddd5f
    • S
      Avoid logs_ operation out of DB mutex · 5dad9d6d
      sdong 提交于
      Summary:
      logs_.back() is called out of DB mutex, which can cause data race. We move the access into the DB mutex protection area.
      Closes https://github.com/facebook/rocksdb/pull/1774
      
      Reviewed By: AsyncDBConnMarkedDownDBException
      
      Differential Revision: D4417472
      
      Pulled By: AsyncDBConnMarkedDownDBException
      
      fbshipit-source-id: 2da1f1e
      5dad9d6d
    • I
      Fix CompactFiles() bug when used with CompactionFilter using SuperVersion · a7b13919
      Islam AbdelRahman 提交于
      Summary:
      GetAndRefSuperVersion() should not be called again in the same thread before ReturnAndCleanupSuperVersion() is called.
      
      If we have a compaction filter that is using DB::Get, This will happen
      ```
      CompactFiles() {
        GetAndRefSuperVersion() // -- first call
          ..
          CompactionFilter() {
            GetAndRefSuperVersion() // -- second call
            ReturnAndCleanupSuperVersion()
          }
          ..
        ReturnAndCleanupSuperVersion()
      }
      ```
      
      We solve this issue in the same way Iterator is solving it, but using GetReferencedSuperVersion()
      
      This was discovered in https://github.com/facebook/mysql-5.6/issues/427 by alxyang
      Closes https://github.com/facebook/rocksdb/pull/1803
      
      Differential Revision: D4460155
      
      Pulled By: IslamAbdelRahman
      
      fbshipit-source-id: 5e54322
      a7b13919
    • A
      Fix DeleteRange including sentinels in output files · 616a1464
      Andrew Kryczka 提交于
      Summary:
      when writing RangeDelAggregator::AddToBuilder, I forgot that there are sentinel tombstones in the middle of the interval map since gaps between real tombstones are represented with sentinels.
      
      blame: #1614
      Closes https://github.com/facebook/rocksdb/pull/1804
      
      Differential Revision: D4460426
      
      Pulled By: ajkr
      
      fbshipit-source-id: 69444b5
      616a1464
    • Z
      Update USERS.md add user Pika · c918c4b7
      Zongzhi Chen 提交于
      Summary:
      add rocksdb users pika
      Closes https://github.com/facebook/rocksdb/pull/1805
      
      Differential Revision: D4462809
      
      Pulled By: siying
      
      fbshipit-source-id: 7289886
      c918c4b7
  11. 25 1月, 2017 4 次提交
    • I
      Remove function from DBImpl that are not used anywhere · 03ca2ac8
      Islam AbdelRahman 提交于
      Summary:
      GetAndRefSuperVersionUnlocked
      ReturnAndCleanupSuperVersionUnlocked
      GetColumnFamilyHandleUnlocked
      
      Are dead code that are not used any where
      Closes https://github.com/facebook/rocksdb/pull/1802
      
      Differential Revision: D4459948
      
      Pulled By: IslamAbdelRahman
      
      fbshipit-source-id: 30fa89d
      03ca2ac8
    • A
      Test merge op covered by range deletion in memtable · b0029bc7
      Andrew Kryczka 提交于
      Summary:
      It's a test case for #1797. Also got rid of kTypeDeletion in the conditional since we treat it the same as kTypeRangeDeletion.
      Closes https://github.com/facebook/rocksdb/pull/1800
      
      Differential Revision: D4451300
      
      Pulled By: ajkr
      
      fbshipit-source-id: b39dda1
      b0029bc7
    • A
      Test range deletion block outlives table reader · d438e1ec
      Andrew Kryczka 提交于
      Summary:
      This test ensures RangeDelAggregator can still access blocks even if it outlives the table readers that created them (detailed description in comments).
      
      I plan to optimize away the extra cache lookup we currently do in BlockBasedTable::NewRangeTombstoneIterator(), as it is ~5% CPU in my random read benchmark in a database with 1k tombstones. This test will help make sure nothing breaks in the process.
      Closes https://github.com/facebook/rocksdb/pull/1739
      
      Differential Revision: D4375954
      
      Pulled By: ajkr
      
      fbshipit-source-id: aef9357
      d438e1ec
    • A
      Version librocksdb.so · fba726e5
      Arun Sharma 提交于
      Summary:
      After make install, I see a directory hierarchy that looks like
      
      ```
      ./usr
      ./usr/include
      ./usr/include/rocksdb
      ./usr/include/rocksdb/filter_policy.h
      [..]
      ./usr/include/rocksdb/iterator.h
      ./usr/include/rocksdb/utilities
      ./usr/include/rocksdb/utilities/ldb_cmd_execute_result.h
      ./usr/include/rocksdb/utilities/lua
      ./usr/include/rocksdb/utilities/lua/rocks_lua_custom_library.h
      ./usr/include/rocksdb/utilities/lua/rocks_lua_util.h
      ./usr/include/rocksdb/utilities/lua/rocks_lua_compaction_filter.h
      ./usr/include/rocksdb/utilities/backupable_db.h
      [..]
      ./usr/include/rocksdb/utilities/env_registry.h
      [..]
      ./usr/include/rocksdb/env.h
      ./usr/lib64
      ./usr/lib64/librocksdb.so.5
      ./usr/lib64/librocksdb.so.5.0.0
      ./usr/lib64/librocksdb.so
      ./usr/lib64/librocksdb.a
      ```
      Closes https://github.com/facebook/rocksdb/pull/1798
      
      Differential Revision: D4456536
      
      Pulled By: yiwu-arbug
      
      fbshipit-source-id: 5494e91
      fba726e5
  12. 24 1月, 2017 2 次提交