mirror of
https://github.com/apache/impala.git
synced 2026-01-07 09:02:19 -05:00
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 <kwho@cloudera.com> Tested-by: Internal Jenkins
18 KiB
18 KiB