Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
It looks like we just fall through ( see excerpt from HashJoinBatch.java below )
public void executeBuildPhase() throws SchemaChangeException, ClassTransformationException, IOException { //Setup the underlying hash table // skip first batch if count is zero, as it may be an empty schema batch if (right.getRecordCount() == 0) { for (final VectorWrapper<?> w : right) { w.clear(); } rightUpstream = next(right); } boolean moreData = true; while (moreData) { switch (rightUpstream) { case OUT_OF_MEMORY: case NONE: case NOT_YET: case STOP: moreData = false; continue; ...
We don't handle it later either:
public IterOutcome innerNext() { try { /* If we are here for the first time, execute the build phase of the * hash join and setup the run time generated class for the probe side */ if (state == BatchState.FIRST) { // Build the hash table, using the build side record batches. executeBuildPhase(); // IterOutcome next = next(HashJoinHelper.LEFT_INPUT, left); hashJoinProbe.setupHashJoinProbe(context, hyperContainer, left, left.getRecordCount(), this, hashTable, hjHelper, joinType); // Update the hash table related stats for the operator updateStats(this.hashTable); } ....