]> git-server-git.apps.pok.os.sepia.ceph.com Git - rocksdb.git/commit
Revert PR 10777 "Fix FIFO causing overlapping seqnos in L0 files due to overla…"...
authorHui Xiao <huixiao@fb.com>
Tue, 29 Nov 2022 18:56:42 +0000 (10:56 -0800)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Tue, 29 Nov 2022 18:56:42 +0000 (10:56 -0800)
commitf1574a20ff9ac2b84ef151c95034c612492dbd81
treef9ad57e47c60739247564a3630e0fe762e9203c0
parent6cdb7af9f894ebb0dba2bae3da8c686b24539c07
Revert PR 10777 "Fix FIFO causing overlapping seqnos in L0 files due to overla…" (#10999)

Summary:
**Context/Summary:**

This reverts commit fc74abb436c5807e967aecc892bb8fa127f2fa85 and related HISTORY record.

The issue with PR 10777 or general approach using earliest_mem_seqno like https://github.com/facebook/rocksdb/pull/5958#issue-511150930 is that the earliest seqno of memtable of each CFs does not get persisted and will always start with 0 upon Recover(). Later when creating a new memtable in certain CF, we use the last seqno of the whole DB (but not of that CF from previous DB session) for this CF.  This will lead to false positive overlapping seqno and PR 10777 will throw something like https://github.com/facebook/rocksdb/blob/main/db/compaction/compaction_picker.cc#L1002-L1004

Luckily a more elegant and complete solution to the overlapping seqno problem these PR aim to solve does not have above problem, see https://github.com/facebook/rocksdb/pull/10922. It is already being pursued and in the process of review. So we can just revert this PR and focus on getting PR10922 to land.

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

Test Plan: make check

Reviewed By: anand1976

Differential Revision: D41572604

Pulled By: hx235

fbshipit-source-id: 9d9bdf594abd235e2137045cef513ca0b14e0a3a
17 files changed:
HISTORY.md
db/column_family.cc
db/compaction/compaction_picker.cc
db/compaction/compaction_picker.h
db/compaction/compaction_picker_fifo.cc
db/compaction/compaction_picker_fifo.h
db/compaction/compaction_picker_level.cc
db/compaction/compaction_picker_level.h
db/compaction/compaction_picker_test.cc
db/compaction/compaction_picker_universal.cc
db/compaction/compaction_picker_universal.h
db/db_compaction_test.cc
db/db_impl/db_impl_compaction_flush.cc
db_stress_tool/db_stress_common.h
db_stress_tool/db_stress_gflags.cc
db_stress_tool/db_stress_test_base.cc
tools/db_crashtest.py