[ 
https://issues.apache.org/jira/browse/DRILL-3659?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Barclay (Drill) resolved DRILL-3659.
-------------------------------------------
       Resolution: Fixed
    Fix Version/s:     (was: 1.5.0)

Resolved as part of DRILL-2288 patch.

> UnionAllRecordBatch infers wrongly from next() IterOutcome values
> -----------------------------------------------------------------
>
>                 Key: DRILL-3659
>                 URL: https://issues.apache.org/jira/browse/DRILL-3659
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Execution - Relational Operators
>            Reporter: Daniel Barclay (Drill)
>            Assignee: Daniel Barclay (Drill)
>
> When UnionAllRecordBatch uses IterOutcome values returned from the next() 
> method of upstream batches, it seems to be using those values wrongly (making 
> incorrect inferences about what they mean).
> In particular, some switch statements seem to check for NONE vs. 
> OK_NEW_SCHEMA in order to determine whether there are any rows (instead of 
> explicitly checking the number of rows).  However, OK_NEW_SCHEMA can be 
> returned even when there are zero rows.
> The apparent latent bug in the union code blocks the fix for DRILL-2288 
> (having ScanBatch return OK_NEW_SCHEMA for a zero-rows case in which is was 
> wrongly (per the IterOutcome protocol) returning NONE without first returning 
> OK_NEW_SCHEMA).
>  
> For details of IterOutcome values, see the Javadoc documentation of 
> RecordBatch.IterOutcome (after DRILL-3641 is merged; until then, see 
> https://github.com/apache/drill/pull/113).
> For an environment/code state that exposes the UnionAllRecordBatch problems, 
> see https://github.com/dsbos/incubator-drill/tree/bugs/WORK_2288_etc, which 
> includes:
> - a test that exposes the DRILL-2288 problem;
> - an enhanced IteratorValidatorBatchIterator, which now detects IterOutcome 
> value sequence violations; and
> - a fixed (though not-yet-cleaned) version of ScanBatch that fixes the 
> DRILL-2288 problem and thereby exposes the UnionAllRecordBatch problem 
> (several test methods in each of TestUnionAll and TestUnionDistinct fail).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to