]> git-server-git.apps.pok.os.sepia.ceph.com Git - rocksdb.git/commit
Add condition on NotifyOnFlushComplete that FlushJob was not mempurge. Add event...
authorBaptiste Lemaire <blemaire@fb.com>
Thu, 19 Aug 2021 00:39:00 +0000 (17:39 -0700)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Thu, 19 Aug 2021 00:40:01 +0000 (17:40 -0700)
commitc625b8d017d43d0bceffbd7c0cf039708578fd1f
treeaa5fc1e76865b95ec109ac62cde3c2359d4e6ada
parentd10801e9830086af978edaff2f5d61afbbb32577
Add condition on NotifyOnFlushComplete that FlushJob was not mempurge. Add event listeners to mempurge tests. (#8672)

Summary:
Previously, when a `FlushJob` was redirected to a MemPurge, the function `DBImpl::NotifyOnFlushComplete` was called, which created a series of issues because the JobInfo was not correctly collected from the memtables.
This diff aims at correcting these two issues (`FlushJobInfo` collection in `FlushJob::MemPurge` , no call to `DBImpl::NotifyOnFlushComplete` after successful mempurge).
Event listeners were added to the unit tests to handle these situations.
Surprisingly none of the crashtests caught this issue, I will try to add event listeners to crash tests in the future.

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

Reviewed By: akankshamahajan15

Differential Revision: D30383109

Pulled By: bjlemaire

fbshipit-source-id: 35a8d4295886923ee4049a6447f00022cb221c73
db/db_flush_test.cc
db/db_impl/db_impl_compaction_flush.cc
db/flush_job.cc
db/flush_job.h