Hello Mike Percy,

I'd like you to do a code review. Please visit

    http://gerrit.cloudera.org:8080/8564

to review the following change.


Change subject: Deflake tablet_replica-test anchor and transaction count 
assertions
......................................................................

Deflake tablet_replica-test anchor and transaction count assertions

Various assertions in this test failed to account for the fact that,
when a transaction finishes, its callback is triggered before it
unregisters itself from the transaction tracker. This means that, if we
wait for the callback and then immediately consult the transaction
tracker (or log anchor registry) we may still see the transaction,
causing the assertion to fail.

The fix here is to simply wrap such assertions with ASSERT_EVENTUALLY.

Prior to the test change, if I added a 10ms sleep in
TransactionDriver::Finalize() between callling the callback and
releasing the transaction from the tracker, I'd get consistent failures.
Now I can add such a sleep and the test still passes.

Change-Id: Icee241077558a16b8a5076ab0c059362e8e6f035
---
M src/kudu/tablet/tablet_replica-test.cc
1 file changed, 20 insertions(+), 11 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/64/8564/1
--
To view, visit http://gerrit.cloudera.org:8080/8564
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Icee241077558a16b8a5076ab0c059362e8e6f035
Gerrit-Change-Number: 8564
Gerrit-PatchSet: 1
Gerrit-Owner: Todd Lipcon <t...@apache.org>
Gerrit-Reviewer: Mike Percy <mpe...@apache.org>

Reply via email to