Internal Jenkins has submitted this change and it was merged. Change subject: IMPALA-3645: Free probe expressions' local allocations in ConstructBuildSide() ......................................................................
IMPALA-3645: Free probe expressions' local allocations in ConstructBuildSide() With the prefetching changes, the probe expressions' local allocations are no longer freed via QueryMaintenance() in PHJ. Instead, they are freed explicitly in GetNext() after an entire probe batch has been processed. Due to this change in how we handle local allocations of probe expressions, a DCHECK was added to verify that there is no local allocation from the probe expression in ProcessBuildInput(). Turns out that Expr::Open() called in ConstructBuildSide() on the probe expressions may have caused local allocations to occur for certain UDFs (e.g. extract()). This change handles the situation above by freeing local allocations of the probe expressions once before calling ProcessBuildInput() in ConstructBuildSide(). A new regression test is also added for this specific case. Change-Id: I2096ca3e2093c5ab0ecc0e7ca4cd1b5f3c1ed1ed Reviewed-on: http://gerrit.cloudera.org:8080/3253 Reviewed-by: Michael Ho <[email protected]> Tested-by: Internal Jenkins --- M be/src/exec/partitioned-hash-join-node.cc M testdata/workloads/functional-query/queries/QueryTest/joins.test 2 files changed, 18 insertions(+), 1 deletion(-) Approvals: Michael Ho: Looks good to me, approved Internal Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/3253 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: I2096ca3e2093c5ab0ecc0e7ca4cd1b5f3c1ed1ed Gerrit-PatchSet: 5 Gerrit-Project: Impala Gerrit-Branch: cdh5-2.6.0_5.8.0 Gerrit-Owner: Michael Ho <[email protected]> Gerrit-Reviewer: Dan Hecht <[email protected]> Gerrit-Reviewer: Internal Jenkins Gerrit-Reviewer: Michael Ho <[email protected]> Gerrit-Reviewer: Tim Armstrong <[email protected]>
