[ 
https://issues.apache.org/jira/browse/DRILL-5546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16037290#comment-16037290
 ] 

Jinfeng Ni edited comment on DRILL-5546 at 6/5/17 6:40 PM:
-----------------------------------------------------------

Thanks for putting a set of formal definitions of terms, which would clear 
confusion in further discussion.

In current Drill execution and as well as in this proposal, *NONE* simply means 
the end of input; there is no more batch coming. It should not be used to 
represent any batch. The Drill's iterator framework has the code to handle 
'NONE'.  This proposal is just to suggest we return *NONE* directly, if the 
data source does not have any schema/data.  This is different from what 
currently Drill is doing: return a *OK_NEW_SCHEMA* with a trivial result set 
(injected with nullable-int column), followed by a 'NONE'.  

Using the notation you defined, previously Drill has 

{{protocol : (OK_NEW_SCHEMA OK\*)\+ NONE}}

Now we have:

{{protocol : (OK_NEW_SCHEMA OK\*)\* NONE}}

Some operators seems to work fine under the protocol change, some operators 
such as Join, UnionAll may not, due to the above protocol changes.   



was (Author: jni):
Thanks for putting a set of form definitions of terms, which would clear 
confusion.

In current Drill execution and as well as in this proposal, *NONE* simply means 
the end of input; there is no more batch coming. It should not be used to 
represent any batch. The Drill's iterator framework has the code to handle 
'NONE'.  This proposal is just to suggest we return *NONE* directly, if the 
data source does not have any schema/data.  This is different from what 
currently Drill is doing: return a *OK_NEW_SCHEMA* with a trivial result set 
(injected with nullable-int column), followed by a 'NONE'.  

Using the notation you defined, previously Drill has 

{{protocol : (OK_NEW_SCHEMA OK\*)\+ NONE}}

Now we have:

{{protocol : (OK_NEW_SCHEMA OK\*)\* NONE}}

Some operators seems to work fine under the protocol change, some operators 
such as Join, UnionAll may not, due to the above protocol changes.   


> Schema change problems caused by empty batch
> --------------------------------------------
>
>                 Key: DRILL-5546
>                 URL: https://issues.apache.org/jira/browse/DRILL-5546
>             Project: Apache Drill
>          Issue Type: Bug
>            Reporter: Jinfeng Ni
>            Assignee: Jinfeng Ni
>
> There have been a few JIRAs opened related to schema change failure caused by 
> empty batch. This JIRA is opened as an umbrella for all those related JIRAS ( 
> such as DRILL-4686, DRILL-4734, DRILL4476, DRILL-4255, etc).
>  



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to