1. 10 Dec, 2016 2 commits
    • Jonathan Lee's avatar
      Remove unnecessary header include · 4a17b47b
      Jonathan Lee authored
      Remove "util/testharness.h" from list of includes for "db/db_filesnapshot.cc", as it wasn't being used and thus caused an extraneous dependency on gtest.
      Closes https://github.com/facebook/rocksdb/pull/1634
      Differential Revision: D4302146
      Pulled By: yiwu-arbug
      fbshipit-source-id: e900c0b
    • Mike Kolupaev's avatar
      Fixed a crash in debug build in flush_job.cc · 8c2b921f
      Mike Kolupaev authored
      It was doing `&range_del_iters[0]` on an empty vector. Even though the resulting pointer is never dereferenced, it's still bad for two reasons:
      * the practical reason: it crashes with `std::out_of_range` exception in our debug build,
      * the "C++ standard lawyer" reason: it's undefined behavior because, in `std::vector` implementation, it probably "dereferences" a null pointer, which is invalid even though it doesn't actually read the pointed memory, just converts a pointer into a reference (and then flush_job.cc converts it back to pointer); nullptr references are undefined behavior.
      Closes https://github.com/facebook/rocksdb/pull/1612
      Differential Revision: D4265625
      Pulled By: al13n321
      fbshipit-source-id: db26fb9
  2. 09 Dec, 2016 2 commits
  3. 08 Dec, 2016 7 commits
  4. 07 Dec, 2016 3 commits
  5. 06 Dec, 2016 6 commits
    • Manuel Ung's avatar
      Implement non-exclusive locks · 2005c88a
      Manuel Ung authored
      This is an implementation of non-exclusive locks for pessimistic transactions. It is relatively simple and does not prevent starvation (ie. it's possible that request for exclusive access will never be granted if there are always threads holding shared access). It is done by changing `KeyLockInfo` to hold an set a transaction ids, instead of just one, and adding a flag specifying whether this lock is currently held with exclusive access or not.
      Some implementation notes:
      - Some lock diagnostic functions had to be updated to return a set of transaction ids for a given lock, eg. `GetWaitingTxn` and `GetLockStatusData`.
      - Deadlock detection is a bit more complicated since a transaction can now wait on multiple other transactions. A BFS is done in this case, and deadlock detection depth is now just a limit on the number of transactions we visit.
      - Expirable transactions do not work efficiently with shared locks at the moment, but that's okay for now.
      Closes https://github.com/facebook/rocksdb/pull/1573
      Differential Revision: D4239097
      Pulled By: lth
      fbshipit-source-id: da7c074
    • Yi Wu's avatar
      Mention IngestExternalFile changes in HISTORY.md · 0b0f2357
      Yi Wu authored
      I hit the land button too fast and didn't include the line.
      Closes https://github.com/facebook/rocksdb/pull/1622
      Differential Revision: D4281316
      Pulled By: yiwu-arbug
      fbshipit-source-id: c7b38e0
    • Yi Wu's avatar
      Update HISTORY.md for 5.0 branch · 23db48e8
      Yi Wu authored
      These changes are included in the new branch-cut.
      Closes https://github.com/facebook/rocksdb/pull/1621
      Differential Revision: D4281015
      Pulled By: yiwu-arbug
      fbshipit-source-id: d88858b
    • Mike Kolupaev's avatar
      Fixed CompactionFilter::Decision::kRemoveAndSkipUntil · beb36d9c
      Mike Kolupaev authored
      Embarassingly enough, the first time I tried to use my new feature in logdevice it crashed with this assertion failure:
        db/pinned_iterators_manager.h:30: void rocksdb::PinnedIteratorsManager::StartPinning(): Assertion `pinning_enabled == false' failed
      The issue was that `pinned_iters_mgr_.StartPinning()` was called but `pinned_iters_mgr_.ReleasePinnedData()` wasn't.
      Closes https://github.com/facebook/rocksdb/pull/1611
      Differential Revision: D4265622
      Pulled By: al13n321
      fbshipit-source-id: 747b10f
    • Islam AbdelRahman's avatar
      Allow user to specify a CF for SST files generated by SstFileWriter · 67f37cf1
      Islam AbdelRahman authored
      Allow user to explicitly specify that the generated file by SstFileWriter will be ingested in a specific CF.
      This allow us to persist the CF id in the generated file
      Closes https://github.com/facebook/rocksdb/pull/1615
      Differential Revision: D4270422
      Pulled By: IslamAbdelRahman
      fbshipit-source-id: 7fb954e
    • Anton Safonov's avatar
      Made delete_obsolete_files_period_micros option dynamic · 9053fe2a
      Anton Safonov authored
      Made delete_obsolete_files_period_micros option dynamic. It can be updating using DB::SetDBOptions().
      Closes https://github.com/facebook/rocksdb/pull/1595
      Differential Revision: D4246569
      Pulled By: tonek
      fbshipit-source-id: d23f560
  6. 02 Dec, 2016 6 commits
  7. 01 Dec, 2016 3 commits
  8. 30 Nov, 2016 6 commits
  9. 29 Nov, 2016 5 commits