mirror of
https://github.com/apache/impala.git
synced 2026-02-03 09:00:39 -05:00
In cases where we had to spill the probe side of PHJs, we were not only appending the probe row to the tuple stream to be spilled, but we were also getting into the regular processing loop with the iterator set to End(). In the case of left anti and left outer joins, the result was to incorrectly output this row, since it did not have a match. This bug had a small perf impact for all spilling joins because we were doing an unnecessary loop for each probe row we had to spill. This patch solves the problem by immediately going to the next probe row if the current row is spilled. Additionally, it fixes a bug in the block mgr where there was a code path we were not counting correctly the number of pinned buffers. It also adds tpch-q21 in the set of queries to run in the spilling test. Change-Id: I762f5c41fe468e4485a4b31dabe2e53f6b49ae24 Reviewed-on: http://gerrit.sjc.cloudera.com:8080/5313 Reviewed-by: Ippokratis Pandis <ipandis@cloudera.com> Tested-by: jenkins Reviewed-on: http://gerrit.sjc.cloudera.com:8080/5334