]> git-server-git.apps.pok.os.sepia.ceph.com Git - rocksdb.git/log
rocksdb.git
7 years agoUpdate history and version for 5.16.6 release. v5.16.6
Fosco Marotto [Mon, 12 Nov 2018 19:55:03 +0000 (11:55 -0800)]
Update history and version for 5.16.6 release.

7 years agoFix WriteBatchWithIndex's SeekForPrev() (#4559)
Siying Dong [Fri, 19 Oct 2018 21:38:32 +0000 (14:38 -0700)]
Fix WriteBatchWithIndex's SeekForPrev() (#4559)

Summary:
WriteBatchWithIndex's SeekForPrev() has a bug that we internally place the position just before the seek key rather than after. This makes the iterator to miss the result that is the same as the seek key. Fix it by position the iterator equal or smaller.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/4559

Differential Revision: D10468534

Pulled By: siying

fbshipit-source-id: 2fb371ae809c561b60a1c11cef71e1c66fea1f19

7 years agoupdate HISTORY.md and version number
Andrew Kryczka [Tue, 16 Oct 2018 17:41:36 +0000 (10:41 -0700)]
update HISTORY.md and version number

7 years agoProperly determine a truncated CompactRange stop key (#4496)
anand1976 [Tue, 16 Oct 2018 06:20:15 +0000 (23:20 -0700)]
Properly determine a truncated CompactRange stop key (#4496)

Summary:
When a CompactRange() call for a level is truncated before the end key
is reached, because it exceeds max_compaction_bytes, we need to properly
set the compaction_end parameter to indicate the stop key. The next
CompactRange will use that as the begin key. We set it to the smallest
key of the next file in the level after expanding inputs to get a clean
cut.

Previously, we were setting it before expanding inputs. So we could end
up recompacting some files. In a pathological case, where a single key
has many entries spanning all the files in the level (possibly due to
merge operands without a partial merge operator, thus resulting in
compaction output identical to the input), this would result in
an endless loop over the same set of files.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/4496

Differential Revision: D10395026

Pulled By: anand1976

fbshipit-source-id: f0c2f89fee29b4b3be53b6467b53abba8e9146a9

7 years agoAvoid per-key linear scan over snapshots in compaction (#4495)
Andrew Kryczka [Mon, 15 Oct 2018 23:18:55 +0000 (16:18 -0700)]
Avoid per-key linear scan over snapshots in compaction (#4495)

Summary:
`CompactionIterator::snapshots_` is ordered by ascending seqnum, just like `DBImpl`'s linked list of snapshots from which it was copied. This PR exploits this ordering to make `findEarliestVisibleSnapshot` do binary search rather than linear scan. This can make flush/compaction significantly faster when many snapshots exist since that function is called on every single key.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/4495

Differential Revision: D10386470

Pulled By: ajkr

fbshipit-source-id: 29734991631227b6b7b677e156ac567690118a8b

7 years agoUpdate version to 5.16.4
Anand Ananthabhotla [Wed, 10 Oct 2018 21:10:08 +0000 (14:10 -0700)]
Update version to 5.16.4

Summary:

Test Plan:

Reviewers:

Subscribers:

Tasks:

Tags:

7 years agoHandle mixed slowdown/no_slowdown writer properly (#4475)
Anand Ananthabhotla [Wed, 10 Oct 2018 05:50:59 +0000 (22:50 -0700)]
Handle mixed slowdown/no_slowdown writer properly (#4475)

Summary:
There is a bug when the write queue leader is blocked on a write
delay/stop, and the queue has writers with WriteOptions::no_slowdown set
to true. They are not woken up until the write stall is cleared.

The fix introduces a dummy writer inserted at the tail to indicate a
write stall and prevent further inserts into the queue, and a condition
variable that writers who can tolerate slowdown wait on before adding
themselves to the queue. The leader calls WriteThread::BeginWriteStall()
to add the dummy writer and then walk the queue to fail any writers with
no_slowdown set. Once the stall clears, the leader calls
WriteThread::EndWriteStall() to remove the dummy writer and signal the
condition variable.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/4475

Differential Revision: D10285827

Pulled By: anand1976

fbshipit-source-id: 747465e5e7f07a829b1fb0bc1afcd7b93f4ab1a9

7 years agoFix CompactFiles support for kDisableCompressionOption (#4438)
Andrew Kryczka [Mon, 1 Oct 2018 08:16:16 +0000 (01:16 -0700)]
Fix CompactFiles support for kDisableCompressionOption (#4438)

Summary:
Previously `CompactFiles` with `CompressionType::kDisableCompressionOption` caused program to crash on assertion failure. This PR fixes the crash by adding support for that setting. Now, that setting will cause RocksDB to choose compression according to the column family's options.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/4438

Differential Revision: D10115761

Pulled By: ajkr

fbshipit-source-id: a553c6fa76fa5b6f73b0d165d95640da6f454122

7 years agoBump version to 5.16.2
Yi Wu [Fri, 21 Sep 2018 16:13:34 +0000 (09:13 -0700)]
Bump version to 5.16.2

7 years agoBlobDB: handle IO error on read (#4410)
Yi Wu [Thu, 20 Sep 2018 23:50:07 +0000 (16:50 -0700)]
BlobDB: handle IO error on read (#4410)

Summary:
Fix IO error on read not being handle and crashing the DB. With the fix we properly return the error.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/4410

Differential Revision: D9979246

Pulled By: yiwu-arbug

fbshipit-source-id: 111a85675067a29c03cb60e9a34103f4ff636694