Michael Smith has submitted this change and it was merged. ( 
http://gerrit.cloudera.org:8080/20723 )

Change subject: IMPALA-12571: Fix errors related to small strings found by 
Clang sanitizer builds
......................................................................

IMPALA-12571: Fix errors related to small strings found by Clang sanitizer 
builds

TSAN and ASAN builds found errors in the Small String Optimization
patch.

TSAN error:

When multiple scanner threads create template tuples they
invoke Tuple::DeepCopy() concurrently which invoke
StringValue::Smallify(), hence we end up having a data race
on the StringValue object. This CR changes Tuple::DeepCopy()
to only modify the copied tuple and leave the source tuple untouched.

ASAN error:

This was a bug in a backend test code. StringValues referred to
temporary std::string objects.

Testing:
 * verified the solution in TSAN build
 * verified the solution in ASAN build

Change-Id: I51d48b79bde0a5ae0103a780f9c09f3003ed157e
Reviewed-on: http://gerrit.cloudera.org:8080/20723
Reviewed-by: Michael Smith <[email protected]>
Tested-by: Michael Smith <[email protected]>
---
M be/src/runtime/string-value-test.cc
M be/src/runtime/string-value.cc
M be/src/runtime/tuple.cc
3 files changed, 14 insertions(+), 9 deletions(-)

Approvals:
  Michael Smith: Looks good to me, approved; Verified

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

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I51d48b79bde0a5ae0103a780f9c09f3003ed157e
Gerrit-Change-Number: 20723
Gerrit-PatchSet: 4
Gerrit-Owner: Zoltan Borok-Nagy <[email protected]>
Gerrit-Reviewer: Csaba Ringhofer <[email protected]>
Gerrit-Reviewer: Daniel Becker <[email protected]>
Gerrit-Reviewer: Impala Public Jenkins <[email protected]>
Gerrit-Reviewer: Michael Smith <[email protected]>
Gerrit-Reviewer: Zoltan Borok-Nagy <[email protected]>

Reply via email to