[
https://issues.apache.org/jira/browse/IMPALA-12571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17788949#comment-17788949
]
ASF subversion and git services commented on IMPALA-12571:
----------------------------------------------------------
Commit 3428469547179828bb520c8f3a859e4fd25ca5fe in impala's branch
refs/heads/master from Zoltan Borok-Nagy
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=342846954 ]
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]>
> Data race due to StringValue::Smallify of template tuple
> --------------------------------------------------------
>
> Key: IMPALA-12571
> URL: https://issues.apache.org/jira/browse/IMPALA-12571
> Project: IMPALA
> Issue Type: Bug
> Components: Backend
> Affects Versions: Impala 4.4.0
> Reporter: Zoltán Borók-Nagy
> Assignee: Zoltán Borók-Nagy
> Priority: Major
> Labels: broken-build
> Fix For: Impala 4.4.0
>
> Attachments: thread_sanitizer_small_string.txt
>
>
> Concurrently opened scanners that create template tuples can concurrently
> invoke Smallify() for the same string slots.
> Uploaded thread sanitizer report: [^thread_sanitizer_small_string.txt]
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]