Sahil Takiar has uploaded this change for review. ( 
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
impala::KrpcDataStreamSender::Channel::SerializeAndSendBatch(impala::RowBatch*)
* Race condition when reading 'rpc_in_flight_batch_' outside of the
  'lock_'

data race be/src/util/stopwatch.h:183:9 in
impala::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
impala::KuduScanNode::ProcessScanToken(impala::KuduScanner*, std::string const&)
* TSAN reports a data race here, but according to the code comments the
  race is expected behavior, so I added a suppression for this method

data race be/src/service/client-request-state.h:220:29 in
impala::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 impala::ScalarColumnReader<int, (parquet::Type::type)1, 
true>::ReadValueBatch<false>(int, int, unsigned char*, int*)
* 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
impala::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
---
M be/src/exec/blocking-join-node.cc
M be/src/exec/blocking-join-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
M bin/tsan-suppressions.txt
14 files changed, 72 insertions(+), 30 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/44/15244/1
--
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: newchange
Gerrit-Change-Id: I01feb40417dc5ea64ccb0c1044cfc3eed8508476
Gerrit-Change-Number: 15244
Gerrit-PatchSet: 1
Gerrit-Owner: Sahil Takiar <[email protected]>

Reply via email to