]> git-server-git.apps.pok.os.sepia.ceph.com Git - rocksdb.git/log
rocksdb.git
4 years agodb: VersionEdit can understand the format introduced in PR 3488. ceph-quincy-v6.23.3-1
Radoslaw Zarzynski [Tue, 21 Aug 2018 19:47:48 +0000 (21:47 +0200)]
db: VersionEdit can understand the format introduced in PR 3488.

RocksDB's PR 3488 introduced a new format of `VersionEdit`
encoding which is not understandable for older versions.
Thus, the change broke forward compatibility and has been
reverted in PR 3762. Later, PR 3765 reiterated the concept
but in a way that does not provide compatibility with the very
short-living format of PR 3488.

This change tries to address the issue of accessing DBs
in format of 3488 by ignoring the special entries.

Fixes: http://tracker.ceph.com/issues/25146
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
(cherry picked from commit ffed5e68515620e1de0b66d96d2ec15cef1c82a7)

4 years agorocksdb: don't call LZ4_loadDictHC with null dictionary
Lucian Grijincu [Mon, 9 Aug 2021 23:04:26 +0000 (16:04 -0700)]
rocksdb: don't call LZ4_loadDictHC with null dictionary

Summary: UBSAN revealed a pointer underflow when `LZ4HC_init_internal` is called with a null `start`.

Reviewed By: ajkr

Differential Revision: D30181874

fbshipit-source-id: ca9bbac1a85c58782871d7f153af733b000cc66c

4 years agoupdate HISTORY.md release date
Andrew Kryczka [Mon, 9 Aug 2021 18:34:21 +0000 (11:34 -0700)]
update HISTORY.md release date

4 years agoFix the sorting of KeyContexts for batched MultiGet (#8633)
Levi Tamasi [Fri, 6 Aug 2021 23:26:04 +0000 (16:26 -0700)]
Fix the sorting of KeyContexts for batched MultiGet (#8633)

Summary:
`CompareKeyContext::operator()` on the trunk has a bug: when comparing
column family IDs, `lhs` is used for both sides of the comparison. This
results in the `KeyContext`s getting sorted solely based on key, which
in turn means that keys with the same column family do not necessarily
form a single range in the sorted list. This violates an assumption of the
batched `MultiGet` logic, leading to the same column family
showing up multiple times in the list of `MultiGetColumnFamilyData`.
The end result is the code attempting to check out the thread-local
`SuperVersion` for the same CF multiple times, causing an
assertion violation in debug builds and memory corruption/crash in
release builds.

Pull Request resolved: https://github.com/facebook/rocksdb/pull/8633

Test Plan: `make check`

Reviewed By: riversand963

Differential Revision: D30169182

Pulled By: ltamasi

fbshipit-source-id: a47710652df7e95b14b40fb710924c11a8478023

4 years agoupdate HISTORY.md and version.h for 6.23.3
Andrew Kryczka [Thu, 5 Aug 2021 00:27:29 +0000 (17:27 -0700)]
update HISTORY.md and version.h for 6.23.3

4 years agoDo not attempt to rename non-existent info log (#8622)
Andrew Kryczka [Thu, 5 Aug 2021 00:24:06 +0000 (17:24 -0700)]
Do not attempt to rename non-existent info log (#8622)

Summary:
Previously we attempted to rename "LOG" to "LOG.old.*" without checking
its existence first. "LOG" had no reason to exist in a new DB.

Errors in renaming a non-existent "LOG" were swallowed via
`PermitUncheckedError()` so things worked. However the storage service's
error monitoring was detecting all these benign rename failures. So it
is better to fix it. Also with this PR we can now distinguish rename failure
for other reasons and return them.

Pull Request resolved: https://github.com/facebook/rocksdb/pull/8622

Test Plan: new unit test

Reviewed By: akankshamahajan15

Differential Revision: D30115189

Pulled By: ajkr

fbshipit-source-id: e2f337ffb2bd171be0203172abc8e16e7809b170

4 years agoMention PR 8585 in HISTORY.md
Levi Tamasi [Wed, 4 Aug 2021 20:20:04 +0000 (13:20 -0700)]
Mention PR 8585 in HISTORY.md

4 years agoBump version number to 6.23.2
Levi Tamasi [Wed, 4 Aug 2021 20:07:49 +0000 (13:07 -0700)]
Bump version number to 6.23.2

4 years agoFix NotifyOnFlushCompleted() for atomic flush (#8585)
Yanqin Jin [Tue, 3 Aug 2021 20:30:05 +0000 (13:30 -0700)]
Fix NotifyOnFlushCompleted() for atomic flush (#8585)

Summary:
PR https://github.com/facebook/rocksdb/issues/5908 added `flush_jobs_info_` to `FlushJob` to make sure
`OnFlushCompleted()` is called after committing flush results to
MANIFEST. However, `flush_jobs_info_` is not updated in atomic
flush, causing `NotifyOnFlushCompleted()` to skip `OnFlushCompleted()`.

This PR fixes this, in a similar way to https://github.com/facebook/rocksdb/issues/5908 that handles regular flush.

Pull Request resolved: https://github.com/facebook/rocksdb/pull/8585

Test Plan: make check

Reviewed By: jay-zhuang

Differential Revision: D29913720

Pulled By: riversand963

fbshipit-source-id: 4ff023c98372fa2c93188d4a5c8a4e9ffa0f4dda

4 years agoMention PR 8605 in HISTORY.md (#8619)
Levi Tamasi [Tue, 3 Aug 2021 23:13:41 +0000 (16:13 -0700)]
Mention PR 8605 in HISTORY.md (#8619)

Summary: Pull Request resolved: https://github.com/facebook/rocksdb/pull/8619

Reviewed By: riversand963

Differential Revision: D30081937

Pulled By: ltamasi

fbshipit-source-id: 57505957ae2c22d4b194aa28cb3fd261b3b39919