sohami commented on a change in pull request #1472: DRILL-6747: Fixed IOB in 
HashJoin for inner and right joins on empty probe side
URL: https://github.com/apache/drill/pull/1472#discussion_r219387481
 
 

 ##########
 File path: 
exec/java-exec/src/main/java/org/apache/drill/exec/record/RecordBatch.java
 ##########
 @@ -115,6 +115,14 @@
      *   This value will be returned only after {@link #OK_NEW_SCHEMA} has been
      *   returned at least once (not necessarily <em>immediately</em> after).
      * </p>
+     * <p>
+     *   Also after a RecordBatch returns NONE a RecordBatch should:
+     *   <ul>
+     *     <li>Contain the last valid schema seen by the operator.</li>
+     *     <li>Contain a VectorContainer with empty columns corresponding to 
the last valid schema.</li>
+     *     <li>Return a record count of 0.</li>
+     *   </ul>
+     * </p>
      */
     NONE(false),
 
 Review comment:
   I agree that it will not affect current operators behavior since anyways 
none of operator use the RecordBatch information once NONE is seen. It takes 
this outcome as End of Stream and completes all its processing.
   
   My concern is if you do this then looks like with NONE outcome in HashJoin 
case we are using the batch information to make some decision. In that sense it 
is treating NONE similar to OK with empty batch ? Based on JIRA explanation why 
didn't HashJoin used the schema related information from batch with 
OK_NEW_SCHEMA since NONE will come atleast after OK_NEW_SCHEMA?

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to