Joe McDonnell has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/24279


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

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
---
M be/src/exec/blocking-join-node.h
M be/src/exec/iceberg-delete-node.cc
M be/src/exec/nested-loop-join-node.cc
M be/src/exec/partitioned-hash-join-node.cc
A 
testdata/workloads/functional-query/queries/QueryTest/tuple-cache-iceberg-v2-deletes.test
M tests/custom_cluster/test_tuple_cache.py
6 files changed, 370 insertions(+), 57 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/79/24279/1
--
To view, visit http://gerrit.cloudera.org:8080/24279
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Iff9228446f69ce43ed303c96893a91b99474800d
Gerrit-Change-Number: 24279
Gerrit-PatchSet: 1
Gerrit-Owner: Joe McDonnell <[email protected]>

Reply via email to