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]>
