]> git-server-git.apps.pok.os.sepia.ceph.com Git - rocksdb.git/commit
Fix queue manipulation in WriteThread::BeginWriteStall() (#6322)
authoranand76 <anand76@devvm1373.frc2.facebook.com>
Thu, 23 Jan 2020 21:59:48 +0000 (13:59 -0800)
committeranand76 <anand76@devvm1373.frc2.facebook.com>
Fri, 24 Jan 2020 18:08:01 +0000 (10:08 -0800)
commit19e217815d36a99263056949339c374a62584e74
treebde5b701c71f74f0f2868e94eb4481f7d016866f
parent1fab610a296d02913adc0a677829ce8aa8f18518
Fix queue manipulation in WriteThread::BeginWriteStall() (#6322)

Summary:
When there is a write stall, the active write group leader calls ```BeginWriteStall()``` to walk the queue of writers and remove any with the ```no_slowdown``` option set. There was a bug in the code which updated the back pointer but not the forward pointer (```link_newer```), corrupting the list and causing some threads to wait forever. This PR fixes it.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/6322

Test Plan: Add a unit test in db_write_test

Differential Revision: D19538313

Pulled By: anand1976

fbshipit-source-id: 6fbed819e594913f435886606f5d36f74f235c3a
HISTORY.md
db/db_write_test.cc
db/write_thread.cc