]> git-server-git.apps.pok.os.sepia.ceph.com Git - rocksdb.git/log
rocksdb.git
7 years agoProperly set upper bound of subcompaction output (#4879) (#4898)
yangzhijia [Tue, 5 Feb 2019 18:15:33 +0000 (10:15 -0800)]
Properly set upper bound of subcompaction output (#4879) (#4898)

Summary:
Fix the ouput overlap bug when using subcompactions, the upper bound of output
file was extended incorrectly.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/4898

Differential Revision: D13736107

Pulled By: ajkr

fbshipit-source-id: 21dca09f81d5f07bf2766bf566f9b50dcab7d8e3

7 years agoBump version to 5.18.2
Sagar Vemuri [Thu, 31 Jan 2019 23:49:35 +0000 (15:49 -0800)]
Bump version to 5.18.2

7 years agoUse correct FileMeta for atomic flush result install (#4932)
Yanqin Jin [Thu, 31 Jan 2019 22:28:53 +0000 (14:28 -0800)]
Use correct FileMeta for atomic flush result install (#4932)

Summary:
1. this commit fixes our handling of a combination of two separate edge
cases. If a flush job does not pick any memtable to flush (because another
flush job has already picked the same memtables), and the column family
assigned to the flush job is dropped right before RocksDB calls
rocksdb::InstallMemtableAtomicFlushResults, our original code passes
a FileMetaData object whose file number is 0, failing the assertion in
rocksdb::InstallMemtableAtomicFlushResults (assert(m->GetFileNumber() > 0)).
2. Also piggyback a small change: since we already create a local copy of column family's mutable CF options to eliminate potential race condition with `SetOptions` call, we might as well use the local copy in other function calls in the same scope.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/4932

Differential Revision: D13901322

Pulled By: riversand963

fbshipit-source-id: b936580af7c127ea0c6c19ea10cd5fcede9fb0f9

7 years agoMake a copy of MutableCFOptions to avoid race condition (#4876)
Yanqin Jin [Sat, 12 Jan 2019 01:40:44 +0000 (17:40 -0800)]
Make a copy of MutableCFOptions to avoid race condition (#4876)

Summary:
If we do not do this, then reading MutableCFOptions may have a race condition
with SetOptions which modifies MutableCFOptions.

Also reserve space in advance for vectors to avoid reallocation changing the
address of its elements.

Test plan
```
$make clean && make -j32 all check
$make clean && COMPILE_WITH_TSAN=1 make -j32 all check
$make clean && COMPILE_WITH_ASAN=1 make -j32 all check
```
Pull Request resolved: https://github.com/facebook/rocksdb/pull/4876

Differential Revision: D13644500

Pulled By: riversand963

fbshipit-source-id: 4b8112c5c819d5a2922bb61ad1521b3d2fb2fd47

7 years agoAlways delete Blob DB files in the background (#4928)
anand76 [Tue, 29 Jan 2019 22:27:30 +0000 (14:27 -0800)]
Always delete Blob DB files in the background (#4928)

Summary:
Blob DB files are not tracked by the SFM, so they currently don't get
deleted in the background. Force them to be deleted in background so
rate limiting can be applied
Pull Request resolved: https://github.com/facebook/rocksdb/pull/4928

Differential Revision: D13854649

Pulled By: anand1976

fbshipit-source-id: 8031ce66842ff0af440c715d886b377983dad7d8

7 years agoDeleting Blob files also goes through SstFileManager (#4904)
Siying Dong [Wed, 23 Jan 2019 00:57:40 +0000 (16:57 -0800)]
Deleting Blob files also goes through SstFileManager (#4904)

Summary:
Right now, deleting blob files is not rate limited, even if SstFileManger is specified.
On the other hand, rate limiting blob deletion is not supported. With this change, Blob file
deletion will go through SstFileManager too.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/4904

Differential Revision: D13772545

Pulled By: siying

fbshipit-source-id: bd1b1d0beb26d5167385e00b7ecb8b94b879de84

7 years agoUse chrono::time_point instead of time_t (#4868)
Yanqin Jin [Wed, 16 Jan 2019 17:48:01 +0000 (09:48 -0800)]
Use chrono::time_point instead of time_t (#4868)

Summary:
By convention, time_t almost always stores the integral number of seconds since
00:00 hours, Jan 1, 1970 UTC, according to http://www.cplusplus.com/reference/ctime/time_t/.
We surely want more precision than seconds.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/4868

Differential Revision: D13633046

Pulled By: riversand963

fbshipit-source-id: 4e01e23a22e8838023c51a91247a286dbf3a5396

7 years agoBump version to 5.18.1
Yanqin Jin [Thu, 10 Jan 2019 00:15:59 +0000 (16:15 -0800)]
Bump version to 5.18.1

7 years agoInitialize two members in PerfContext (#4859)
Yanqin Jin [Wed, 9 Jan 2019 23:51:02 +0000 (15:51 -0800)]
Initialize two members in PerfContext (#4859)

Summary:
as titled.
Currently it's possible to create a local object of type PerfContext since it's
part of public API. Then it's safe to initialize the two members to 0.
If PerfContext is created as thread-local object, then all members are
zero-initialized according to C++ standard.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/4859

Differential Revision: D13614504

Pulled By: riversand963

fbshipit-source-id: 406ff548e105a074f379ad1054d56fece5f524a0