Impala Public Jenkins has submitted this change and it was merged. ( 
http://gerrit.cloudera.org:8080/15244 )

Change subject: IMPALA-5904: (part 2) Fix more TSAN bugs
......................................................................

IMPALA-5904: (part 2) Fix more TSAN bugs

Fixes the following data races reported by TSAN:

data race be/src/runtime/krpc-data-stream-sender.cc:581:3 in
KrpcDataStreamSender::Channel::SerializeAndSendBatch(impala::RowBatch*)
* Race condition when reading 'rpc_in_flight_batch_' outside of the
  'lock_'
* Since this race condition is only triggered inside a DCHECK, added a
  suppresion

data race be/src/util/stopwatch.h:183:9 in
MonotonicStopWatch::RunningTime() const
* Race condition on BlockingJoinNode::built_probe_overlap_stop_watch_;
  changed from a MonotonicStopWatch to a ConcurrentStopWatch

data race be/src/exec/kudu-scan-node.cc:211:13 in
KuduScanNode::ProcessScanToken(impala::KuduScanner*, std::string const&)
* Some reads on KuduScanNode::done_ are racey, so I made 'done_' an
  AtomicBool; this has the added benefit that failed scans will be
  aborted as soon as 'done_' is set to false

data race be/src/service/client-request-state.h:220:29 in
ClientRequestState::eos() const
* Race condition when reading / updating ClientRequestState::eos_; made
  'eos_' an AtomicBool

data race be/src/exec/parquet/parquet-column-readers.cc:497:9 in
bool ScalarColumnReader<...>::ReadValueBatch<false>(...)
* Race condition in SHOULD_TRIGGER_COL_READER_DEBUG_ACTION /
  parquet_column_reader_debug_count

data race be/src/service/impala-server.cc:817:20 in
ImpalaServer::ArchiveQuery(impala::ClientRequestState const&)
* Race condition on some ClientRequestState fields when creating a
  QueryStateRecord

Fixes IMPALA-9313: 'TSAN data race in TmpFileMgr::File::Blacklist' and
adds a suppresion for IMPALA-9404:
'Instantiations/ExprTest.MathConversionFunctions fails in TSAN builds'.

Testing:
* Ran core tests
* Re-ran TSAN tests and confirmed the data races have been fixed

Change-Id: I01feb40417dc5ea64ccb0c1044cfc3eed8508476
Reviewed-on: http://gerrit.cloudera.org:8080/15244
Reviewed-by: Sahil Takiar <[email protected]>
Tested-by: Impala Public Jenkins <[email protected]>
---
M be/src/exec/blocking-join-node.cc
M be/src/exec/blocking-join-node.h
M be/src/exec/kudu-scan-node.cc
M be/src/exec/kudu-scan-node.h
M be/src/exec/parquet/parquet-column-readers.cc
M be/src/exec/parquet/parquet-column-readers.h
M be/src/exprs/expr-test.cc
M be/src/runtime/krpc-data-stream-sender.cc
M be/src/runtime/tmp-file-mgr-internal.h
M be/src/runtime/tmp-file-mgr.cc
M be/src/service/client-request-state.cc
M be/src/service/client-request-state.h
M be/src/service/impala-server.cc
M be/src/service/impala-server.h
M be/src/util/stopwatch.h
15 files changed, 76 insertions(+), 49 deletions(-)

Approvals:
  Sahil Takiar: Looks good to me, approved
  Impala Public Jenkins: Verified

--
To view, visit http://gerrit.cloudera.org:8080/15244
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I01feb40417dc5ea64ccb0c1044cfc3eed8508476
Gerrit-Change-Number: 15244
Gerrit-PatchSet: 9
Gerrit-Owner: Sahil Takiar <[email protected]>
Gerrit-Reviewer: Impala Public Jenkins <[email protected]>
Gerrit-Reviewer: Sahil Takiar <[email protected]>
Gerrit-Reviewer: Tim Armstrong <[email protected]>

Reply via email to