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]>

Reply via email to