Todd Lipcon has submitted this change and it was merged. Change subject: Replace some TSAN suppressions with annotations ......................................................................
Replace some TSAN suppressions with annotations In the case that there is a known race, we can either use an annotation or a suppression to avoid it causing issues. It turns out that using suppressions is rather inefficient: TSAN still needs to take the stack trace and feed it to the external symbolizer program in order to compare the resulting symbols against the suppression list. This is particularly bad since the symbolizer does IO to read the symbols and debug info, and thus can be pretty slow. TSAN does all of this work while holding some global locks which prevent new threads from starting. These thread creation delays have caused a lot of test flakiness in TSAN builds. This fixes the issue by switching out the most common suppressions to use annotations instead. Change-Id: I22b2f80e18cf84f58a30797bf2a355d3832a31b2 Reviewed-on: http://gerrit.cloudera.org:8080/4593 Tested-by: Kudu Jenkins Reviewed-by: Adar Dembo <[email protected]> Reviewed-by: Mike Percy <[email protected]> --- M build-support/tsan-suppressions.txt M src/kudu/rpc/reactor.cc M src/kudu/tablet/cbtree-test.cc M src/kudu/tablet/concurrent_btree.h M src/kudu/util/debug-util.cc 5 files changed, 24 insertions(+), 15 deletions(-) Approvals: Mike Percy: Looks good to me, approved Adar Dembo: Looks good to me, approved Kudu Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/4593 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: I22b2f80e18cf84f58a30797bf2a355d3832a31b2 Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Todd Lipcon <[email protected]> Gerrit-Reviewer: Adar Dembo <[email protected]> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy <[email protected]> Gerrit-Reviewer: Todd Lipcon <[email protected]>
