Zoltan Martonka has uploaded this change for review. ( http://gerrit.cloudera.org:8080/24109
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(). Change-Id: I5b915879f717e6909e2d49b3bfa9360dd428cc89 --- M src/kudu/client/scanner-internal.cc M src/kudu/client/scanner-internal.h 2 files changed, 43 insertions(+), 14 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/09/24109/1 -- 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: newchange Gerrit-Change-Id: I5b915879f717e6909e2d49b3bfa9360dd428cc89 Gerrit-Change-Number: 24109 Gerrit-PatchSet: 1 Gerrit-Owner: Zoltan Martonka <[email protected]>
