1. 27 4月, 2017 4 次提交
  2. 26 4月, 2017 1 次提交
  3. 25 4月, 2017 3 次提交
    • A
      Reunite checkpoint and backup core logic · e5e545a0
      Andrew Kryczka 提交于
      Summary:
      These code paths forked when checkpoint was introduced by copy/pasting the core backup logic. Over time they diverged and bug fixes were sometimes applied to one but not the other (like fix to include all relevant WALs for 2PC), or it required extra effort to fix both (like fix to forge CURRENT file). This diff reunites the code paths by extracting the core logic into a function, CreateCustomCheckpoint(), that is customizable via callbacks to implement both checkpoint and backup.
      
      Related changes:
      
      - flush_before_backup is now forcibly enabled when 2PC is enabled
      - Extracted CheckpointImpl class definition into a header file. This is so the function, CreateCustomCheckpoint(), can be called by internal rocksdb code but not exposed to users.
      - Implemented more functions in DummyDB/DummyLogFile (in backupable_db_test.cc) that are used by CreateCustomCheckpoint().
      Closes https://github.com/facebook/rocksdb/pull/1932
      
      Differential Revision: D4622986
      
      Pulled By: ajkr
      
      fbshipit-source-id: 157723884236ee3999a682673b64f7457a7a0d87
      e5e545a0
    • A
      call GetRootDB() before cast to DBImpl* in CancelAllBackgroundWork · 72c21fb3
      Aaron Gao 提交于
      Summary:
      User could call this with wrapper class of DB or DBImpl
      Closes https://github.com/facebook/rocksdb/pull/2200
      
      Differential Revision: D4935530
      
      Pulled By: lightmark
      
      fbshipit-source-id: df9cb61d67d0f3bbcf62f714d77523a459a92883
      72c21fb3
    • M
      Add erase option to release cache · 4c9447d8
      Maysam Yabandeh 提交于
      Summary:
      This is useful when we put the entries in the block cache for accounting
      purposes and do not expect it to be used after it is released. If the cache does not
      erase the item in such cases not only the performance of cache is
      negatively affected but the item's destructor not being called at the
      time of release might violate the assumptions about the lifetime of the
      object.
      
      The new change adds a force_erase option to the Release method and
      returns a boolean to indicate whehter the item is successfully deleted.
      Closes https://github.com/facebook/rocksdb/pull/2180
      
      Differential Revision: D4916032
      
      Pulled By: maysamyabandeh
      
      fbshipit-source-id: 94409a346069923cac9de8e57adc313b4ed46f28
      4c9447d8
  4. 22 4月, 2017 3 次提交
  5. 21 4月, 2017 6 次提交
  6. 20 4月, 2017 3 次提交
  7. 19 4月, 2017 6 次提交
  8. 18 4月, 2017 1 次提交
  9. 17 4月, 2017 3 次提交
    • J
      enable O2 optimization for lz4 · e67f0adf
      Jay Lee 提交于
      Summary: Closes https://github.com/facebook/rocksdb/pull/2164
      
      Differential Revision: D4897389
      
      Pulled By: yiwu-arbug
      
      fbshipit-source-id: fac15374ae7fef1ece70fd2b9018f2451f3c2f7c
      e67f0adf
    • T
      CMake: add support for SSE4.2 · bc397325
      Tamir Duberstein 提交于
      Summary: Closes https://github.com/facebook/rocksdb/pull/2159
      
      Differential Revision: D4894483
      
      Pulled By: yiwu-arbug
      
      fbshipit-source-id: 607e17e8ef5d30dce02c27be9d1de7d9f823b4ae
      bc397325
    • T
      Separate compile and link for shared library · 7d5f5aa9
      Tudor Bosman 提交于
      Summary:
      Previously, the shared library (make shared_lib) was built with only one
      compile line, compiling all .cc files and linking the shared library in
      one step. That step would often take 10+ minutes on one machine, and
      could not take advantage of multiple CPUs (it's only one invocation of
      the compiler).
      
      This commit changes the shared_lib build to compile .o files
      individually (placing the resulting .o files in the directory
      shared-objects) and then link them into the shared library at the end,
      similarly to how the java static build (jls) does it.
      
      Tested by making sure that both static and shared libraries work, and by
      making sure that "make clean" cleans up the shared-objects directory.
      Closes https://github.com/facebook/rocksdb/pull/2165
      
      Differential Revision: D4897121
      
      Pulled By: yiwu-arbug
      
      fbshipit-source-id: 9811e043d1c01e10503593f3489d186c786ee7d7
      7d5f5aa9
  10. 15 4月, 2017 3 次提交
  11. 14 4月, 2017 7 次提交
    • Y
      Simplify write thread logic · e9e6e532
      Yi Wu 提交于
      Summary:
      The concept about early exit in write thread implementation is a confusing one. It means that if early exit is allowed, batch group leader will not responsible to exit the batch group, but the last finished writer do. In case we need to mark log synced, or encounter memtable insert error, early exit is disallowed.
      
      This patch remove such a concept by:
      * In all cases, the last finished writer (not necessary leader) is responsible to exit batch group.
      * In case of parallel memtable write, leader will also mark log synced after memtable insert and before signal finish (call `CompleteParallelWorker()`). The purpose is to allow mark log synced (which require locking mutex) can run in parallel to memtable insert in other writers.
      * The last finish writer should handle memtable insert error (update bg_error_) before exiting batch group.
      Closes https://github.com/facebook/rocksdb/pull/2134
      
      Differential Revision: D4869667
      
      Pulled By: yiwu-arbug
      
      fbshipit-source-id: aec170847c85b90f4179d6a4608a4fe1361544e3
      e9e6e532
    • S
      Pass in remote as a param to branch creation script · 6799c7e0
      Sagar Vemuri 提交于
      Summary:
      When people are working off of a rocksdb fork, i.e. when their 'origin'
      points to github.com/<username>/rocksdb, the script creates a new branch
      and pushes to their origin. The new branch created by this script should
      instead be pushed to github.com/facebook/rocksdb. Many people might
      have named facebook/rocksdb remote as 'upstream' (or something else).
      This fix provides an option to specify the remote to push the branch to.
      The default is still 'origin'
      
      More context:
      When I created 5.4 branch using this script, it got pushed to sagar0/rocksdb instead of facebook/rocksdb, as I was working off of a fork. My 'origin' was pointing to sagar0/rocksdb. My 'upstream' was set to 'facebook/rocksdb'. So, I had to manually push the branch to my 'upstream'.
      Closes https://github.com/facebook/rocksdb/pull/2156
      
      Differential Revision: D4885333
      
      Pulled By: sagar0
      
      fbshipit-source-id: 9410eab5bd9bbefc340059800bd6b8434406729d
      6799c7e0
    • A
      change use_direct_writes to use_direct_io_for_flush_and_compaction · 44fa8ece
      Aaron Gao 提交于
      Summary:
      Replace Options::use_direct_writes with Options::use_direct_io_for_flush_and_compaction
      Now if Options::use_direct_io_for_flush_and_compaction = true, we will enable direct io for both reads and writes for flush and compaction job. Whereas Options::use_direct_reads controls user reads like iterator and Get().
      Closes https://github.com/facebook/rocksdb/pull/2117
      
      Differential Revision: D4860912
      
      Pulled By: lightmark
      
      fbshipit-source-id: d93575a8a5e780cf7e40797287edc425ee648c19
      44fa8ece
    • A
      add space for buggy kernel warning · 13b50358
      Aaron Gao 提交于
      Summary:
      add the missing space
      Closes https://github.com/facebook/rocksdb/pull/2150
      
      Differential Revision: D4880696
      
      Pulled By: lightmark
      
      fbshipit-source-id: a4e0ad6a8ea45d6469d3f6c8514fdeb4cf10aaf5
      13b50358
    • I
      Fix BYTES_WRITTEN accounting · b6b9359e
      Igor Canadi 提交于
      Summary:
      BYTES_WRITTEN accounting doesn't work with disabled WAL. For example, this is what we
      get in the LOG:
      
      ```
      Cumulative writes: 9794K writes, 228M keys, 9794K commit groups, 1.0
      writes per commit group, ingest: 0.00 GB, 0.00 MB/s
      ```
      
      WAL bytes are tracked in a different statistic:
      https://github.com/facebook/rocksdb/blob/master/db/internal_stats.h#L105.
      BYTES_WRITTEN should count all the writes.
      Closes https://github.com/facebook/rocksdb/pull/2133
      
      Differential Revision: D4880615
      
      Pulled By: yiwu-arbug
      
      fbshipit-source-id: 8fd0b223099f3f5ad7df79d4e737d313687fec69
      b6b9359e
    • I
      Update ShipIt to honor TARGETS updates · 13369fbd
      Islam AbdelRahman 提交于
      Summary: Update ShipIt to update push changes to TARGETS
      
      Reviewed By: sdwilsh
      
      Differential Revision: D4873590
      
      fbshipit-source-id: bb5ab9bed7ad7bc51f1e2ee1fe8204224aaae2fb
      13369fbd
    • I
      Remove .deprecated_arcconfig · f2449ce9
      Islam AbdelRahman 提交于
      f2449ce9