Go to file
Manuel Ung 230b909da8 Fix PopSavePoint to merge info into the previous savepoint (#5628)
Summary:
Transaction::RollbackToSavePoint undos the modification made since the SavePoint beginning, and also unlocks the corresponding keys, which are tracked in the last SavePoint. Currently ::PopSavePoint simply discard these tracked keys, leaving them locked in the lock manager. This breaks a subsequent ::RollbackToSavePoint behavior as it loses track of such keys, and thus cannot unlock them. The patch fixes ::PopSavePoint by passing on the track key information to the previous SavePoint.
Fixes https://github.com/facebook/rocksdb/issues/5618
Pull Request resolved: https://github.com/facebook/rocksdb/pull/5628

Differential Revision: D16505325

Pulled By: lth

fbshipit-source-id: 2bc3b30963ab4d36d996d1f66543c93abf358980
2019-07-26 11:39:30 -07:00
buckifier
build_tools Upload db directory during cleanup for certain tests (#5554) 2019-07-10 11:29:55 -07:00
cache Cleaned up and simplified LRU cache implementation (#5579) 2019-07-16 19:17:45 -07:00
cmake
coverage Fix interpreter lines for files with python2-only syntax. 2019-07-09 10:51:37 -07:00
db Added SizeApproximationOptions to DB::GetApproximateSizes (#5626) 2019-07-25 22:42:30 -07:00
docs
env The ObjectRegistry class replaces the Registrar and NewCustomObjects.… (#5293) 2019-07-23 17:13:05 -07:00
examples
file Fix bugs in DBWALTest.kTolerateCorruptedTailRecords triggered by #5520 (#5550) 2019-07-09 11:18:32 -07:00
hdfs
include/rocksdb Added SizeApproximationOptions to DB::GetApproximateSizes (#5626) 2019-07-25 22:42:30 -07:00
java
logging Auto Roll Logger to add some extra checking to avoid segfault. (#5623) 2019-07-24 15:14:40 -07:00
memory
memtable
monitoring Exclude StatsHistoryTest.ForceManualFlushStatsCF test from lite mode (#5529) 2019-07-01 16:37:08 -07:00
options The ObjectRegistry class replaces the Registrar and NewCustomObjects.… (#5293) 2019-07-23 17:13:05 -07:00
port Fix regression - 100% CPU - Regression for Windows 7 (#5557) 2019-07-15 12:19:49 -07:00
table Move the uncompression dictionary object out of the block cache (#5584) 2019-07-23 16:01:44 -07:00
test_util Added support for sequential read-ahead file (#5580) 2019-07-16 18:21:18 -07:00
third-party/gtest-1.7.0/fused-src/gtest
tools The ObjectRegistry class replaces the Registrar and NewCustomObjects.… (#5293) 2019-07-23 17:13:05 -07:00
trace_replay Block cache analyzer: Compute correlation of features and human readable trace file. (#5596) 2019-07-22 17:51:34 -07:00
util Avoid user key copying for Get/Put/Write with user-timestamp (#5502) 2019-07-25 15:27:39 -07:00
utilities Fix PopSavePoint to merge info into the previous savepoint (#5628) 2019-07-26 11:39:30 -07:00
.clang-format
.gitignore Avoid user key copying for Get/Put/Write with user-timestamp (#5502) 2019-07-25 15:27:39 -07:00
.lgtm.yml
.travis.yml
.watchmanconfig Added .watchmanconfig file to rocksdb repo (#5593) 2019-07-19 15:00:33 -07:00
AUTHORS
CMakeLists.txt The ObjectRegistry class replaces the Registrar and NewCustomObjects.… (#5293) 2019-07-23 17:13:05 -07:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md
COPYING
DEFAULT_OPTIONS_HISTORY.md
DUMP_FORMAT.md
HISTORY.md Added SizeApproximationOptions to DB::GetApproximateSizes (#5626) 2019-07-25 22:42:30 -07:00
INSTALL.md
LANGUAGE-BINDINGS.md
LICENSE.Apache
LICENSE.leveldb
Makefile Fix target 'clean' to include parallel test binaries (#5629) 2019-07-26 09:56:09 -07:00
README.md
ROCKSDB_LITE.md
TARGETS rocksdb: build on macosx 2019-07-25 11:45:54 -07:00
USERS.md
Vagrantfile
WINDOWS_PORT.md
appveyor.yml
defs.bzl rocksdb: build on macosx 2019-07-25 11:45:54 -07:00
issue_template.md
src.mk The ObjectRegistry class replaces the Registrar and NewCustomObjects.… (#5293) 2019-07-23 17:13:05 -07:00
thirdparty.inc

README.md

RocksDB: A Persistent Key-Value Store for Flash and RAM Storage

Linux/Mac Build Status Windows Build status PPC64le Build Status

RocksDB is developed and maintained by Facebook Database Engineering Team. It is built on earlier work on LevelDB by Sanjay Ghemawat (sanjay@google.com) and Jeff Dean (jeff@google.com)

This code is a library that forms the core building block for a fast key value server, especially suited for storing data on flash drives. It has a Log-Structured-Merge-Database (LSM) design with flexible tradeoffs between Write-Amplification-Factor (WAF), Read-Amplification-Factor (RAF) and Space-Amplification-Factor (SAF). It has multi-threaded compactions, making it specially suitable for storing multiple terabytes of data in a single database.

Start with example usage here: https://github.com/facebook/rocksdb/tree/master/examples

See the github wiki for more explanation.

The public interface is in include/. Callers should not include or rely on the details of any other header files in this package. Those internal APIs may be changed without warning.

Design discussions are conducted in https://www.facebook.com/groups/rocksdb.dev/

License

RocksDB is dual-licensed under both the GPLv2 (found in the COPYING file in the root directory) and Apache 2.0 License (found in the LICENSE.Apache file in the root directory). You may select, at your option, one of the above-listed licenses.