[ 
https://issues.apache.org/jira/browse/IMPALA-13660?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18080479#comment-18080479
 ] 

ASF subversion and git services commented on IMPALA-13660:
----------------------------------------------------------

Commit 53f5d74b9c905aad36c54f9251e0d25fc21d80bc in impala's branch 
refs/heads/master from Joe McDonnell
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=53f5d74b9 ]

IMPALA-14951: Fix hang during Iceberg delete with tuple cache

With mt_dop, IcebergDeleteNode has the same independent
builder as PartitionedHashJoinNode. It needs the same logic
used for IMPALA-13660 to notify the build side when a probe
side thread closes before probing. Interestingly enough,
this is hard to demonstrate with a select. The coordinator
cancels the query when it receives all the rows, which posts
the builder out of its wait. However, for a delete, this is
not true, so it can hang indefinitely.

This centralizes the necessary logic to share it between
PartitionedHashJoinNode, NestedLoopJoinNode, and
IcebergDeleteNode. Applying it to IcebergDeleteNode fixes
the hang.

Testing:
 - Added a test case that consistently reproduced the hang
   before the fix

Change-Id: Iff9228446f69ce43ed303c96893a91b99474800d
Reviewed-on: http://gerrit.cloudera.org:8080/24279
Reviewed-by: Yida Wu <[email protected]>
Tested-by: Impala Public Jenkins <[email protected]>


> Cache broadcast hash joins
> --------------------------
>
>                 Key: IMPALA-13660
>                 URL: https://issues.apache.org/jira/browse/IMPALA-13660
>             Project: IMPALA
>          Issue Type: Improvement
>            Reporter: Michael Smith
>            Assignee: Joe McDonnell
>            Priority: Major
>             Fix For: Impala 5.0.0
>
>
> Enable intermediate result caching for broadcast hash joins. The cache key 
> must incorporate probe and build sides; since the build side will be part of 
> the cache key, we can rely on the broadcast results being stable.
> This differs from a partition join, where we don't have the same guarantees; 
> partition joins would also incorporate an exchange on the probe side, so our 
> normal rules would preclude caching it right now.
> The build side comes from another fragment, so we need to tolerate an 
> exchange on the build side, similar to what was done in IMPALA-13185.
> We need to make sure cached results are returned immediately when available 
> rather than waiting on a build side we don't need; also make sure the build 
> side can complete even if its results are not needed by any joins (because 
> they all had cache hits). It would be nice to cancel the build side fragment 
> if a cache hit is identified on all join fragments, since the build side 
> results would no longer be needed.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to