Daniel Becker has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/22508


Change subject: IMPALA-13770: Updating Iceberg tables with UDFs crashes Impala
......................................................................

IMPALA-13770: Updating Iceberg tables with UDFs crashes Impala

When using a native UDF in the target value of an UPDATE statement,
Impala crashes with the following DCHECK:

  be/src/exprs/expr.cc:47 47 DCHECK(cache_entry_ == nullptr);

This DCHECK is in the destructor of Expr, and it fires if Close() has
not been called for the expression. In this case this is caused by
MultiTableSinkConfig: it creates child DataSinkConfig objects but does
not call Close() on them, and consequently these child sink configs do
not call Close() on their output expressions.

This patch fixes it by overriding Close() in MultiTableSinkConfig,
calling Close() on the child sinks.

Testing:
 - Added an EE regression test in iceberg-update-basic.test

Change-Id: Id86638c8d6d86062c68cc9d708ec9c7b0a4e95eb
---
M be/src/exec/multi-table-sink.cc
M be/src/exec/multi-table-sink.h
M 
testdata/workloads/functional-query/queries/QueryTest/iceberg-update-basic.test
M tests/query_test/test_iceberg.py
4 files changed, 23 insertions(+), 1 deletion(-)



  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/08/22508/2
--
To view, visit http://gerrit.cloudera.org:8080/22508
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Id86638c8d6d86062c68cc9d708ec9c7b0a4e95eb
Gerrit-Change-Number: 22508
Gerrit-PatchSet: 2
Gerrit-Owner: Daniel Becker <[email protected]>

Reply via email to