Hello Marton Greber, Kudu Jenkins,

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#7).

Change subject: Fix TSAN data races in KuduScanner keep-alive callback
......................................................................

Fix TSAN data races in KuduScanner keep-alive callback

The periodic keep-alive timer callback runs on a reactor thread and
was directly accessing proxy_, next_req_, and last_response_ without
synchronization, while the scanner caller thread was concurrently
modifying those fields.

The fix introduces a spinlock-protected pair of mirror fields
(keep_alive_scanner_id_ and keep_alive_proxy_) that the callback
reads instead, kept in sync by OpenTablet(), SendScanRpc(), and
StartKeepAlivePeriodically().

Added TestBackgroundSessionRepeatedClientTeardown, which consistently
fails without the current fix with TSAN builds.

Change-Id: I5b915879f717e6909e2d49b3bfa9360dd428cc89
---
M src/kudu/client/client-test.cc
M src/kudu/client/scanner-internal.cc
M src/kudu/client/scanner-internal.h
3 files changed, 65 insertions(+), 13 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/09/24109/7
--
To view, visit http://gerrit.cloudera.org:8080/24109
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I5b915879f717e6909e2d49b3bfa9360dd428cc89
Gerrit-Change-Number: 24109
Gerrit-PatchSet: 7
Gerrit-Owner: Zoltan Martonka <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <[email protected]>
Gerrit-Reviewer: Zoltan Martonka <[email protected]>

Reply via email to