* fix: Remove a stale reference to blocking watch queue

1. Remove the duplicated FinalizeWatched function
2. Identify the case where we delete the watched queue while we may still have awakedened_keys pointing to it.
3. Add a test reproducing the issue of having in awakened_keys an untangled key.

Properly fixes #2514

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
---------

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
This commit is contained in:
Roman Gershman 2024-02-01 14:19:08 +02:00 committed by GitHub
parent 2b0310db32
commit adeac6bd27
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 36 additions and 48 deletions

View file

@ -228,7 +228,7 @@ void BaseFamilyTest::ResetService() {
watchdog_fiber_ = pp_->GetNextProactor()->LaunchFiber([this] {
ThisFiber::SetName("Watchdog");
if (!watchdog_done_.WaitFor(120s)) {
if (!watchdog_done_.WaitFor(60s)) {
LOG(ERROR) << "Deadlock detected!!!!";
absl::SetFlag(&FLAGS_alsologtostderr, true);
fb2::Mutex m;