[jira] [Updated] (DRILL-5344) External sort priority queue copier fails with an empty batch

2017-04-27 Thread Boaz Ben-Zvi (JIRA)

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

Boaz Ben-Zvi updated DRILL-5344:

Labels: ready-to-commit  (was: )

> External sort priority queue copier fails with an empty batch
> -
>
> Key: DRILL-5344
> URL: https://issues.apache.org/jira/browse/DRILL-5344
> Project: Apache Drill
>  Issue Type: Bug
>Affects Versions: 1.10.0
>Reporter: Paul Rogers
>Assignee: Paul Rogers
>Priority: Minor
>  Labels: ready-to-commit
> Fix For: 1.11.0
>
>
> The external sort uses a "priority queue copier" to merge batches when 
> spilling or when merging spilled batches.
> The code will fail with an {{IndexOutOfBoundsException}} if any record batch 
> is empty. The reason is a faulty assumption in generated code:
> {code}
>   public void setup(...) {
> ...
>   vector4.set(i, i, batchGroups.get(i).getNextIndex());
> ...
>   }
>   public int getNextIndex() {
> if (pointer == getRecordCount()) {
>   return -1;
> }
> ...
>   }
> {code}
> The code to get the next index returns -1 when the "position" in a record 
> batch is zero. The -1 position translates (when truncated) into 65535 which 
> produces the index exception.
> The workaround has been to special case empty batches elsewhere in the code, 
> apparently to avoid hitting this error.



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


[jira] [Updated] (DRILL-5344) External sort priority queue copier fails with an empty batch

2017-03-10 Thread Zelaine Fong (JIRA)

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

Zelaine Fong updated DRILL-5344:

Reviewer: Boaz Ben-Zvi

Assigned Reviewer to [~ben-zvi]

> External sort priority queue copier fails with an empty batch
> -
>
> Key: DRILL-5344
> URL: https://issues.apache.org/jira/browse/DRILL-5344
> Project: Apache Drill
>  Issue Type: Bug
>Affects Versions: 1.10.0
>Reporter: Paul Rogers
>Assignee: Paul Rogers
>Priority: Minor
> Fix For: 1.11.0
>
>
> The external sort uses a "priority queue copier" to merge batches when 
> spilling or when merging spilled batches.
> The code will fail with an {{IndexOutOfBoundsException}} if any record batch 
> is empty. The reason is a faulty assumption in generated code:
> {code}
>   public void setup(...) {
> ...
>   vector4.set(i, i, batchGroups.get(i).getNextIndex());
> ...
>   }
>   public int getNextIndex() {
> if (pointer == getRecordCount()) {
>   return -1;
> }
> ...
>   }
> {code}
> The code to get the next index returns -1 when the "position" in a record 
> batch is zero. The -1 position translates (when truncated) into 65535 which 
> produces the index exception.
> The workaround has been to special case empty batches elsewhere in the code, 
> apparently to avoid hitting this error.



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