drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jacques Nadeau (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (DRILL-276) aggregation over empty rowset will cause "Failure while running fragment. < NoSuchElementException"
Date Thu, 29 May 2014 15:46:12 GMT

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

Jacques Nadeau resolved DRILL-276.
----------------------------------

    Resolution: Fixed

> aggregation over empty rowset will cause "Failure while running fragment. < NoSuchElementException"
> ---------------------------------------------------------------------------------------------------
>
>                 Key: DRILL-276
>                 URL: https://issues.apache.org/jira/browse/DRILL-276
>             Project: Apache Drill
>          Issue Type: Bug
>            Reporter: Jinfeng Ni
>            Assignee: Jinfeng Ni
>            Priority: Minor
>
> For the following query, the WHERE clause will produce 0 rows.  If we apply the count()
function over the 0 result rows, drill will fail with error.
>  SELECT count(*) FROM "nation.parquet" where 1=0;
> Here is the call stack when the NoSuchElementException is raised:
> Seems that the SortRecordBatchBuilder does not have the code to handle empty rowset yet,
which leads to the error.  
> java.util.NoSuchElementException
> 	java.util.HashMap$HashIterator.nextEntry(HashMap.java:929) ~[na:1.7.0_45]
> 	java.util.HashMap$EntryIterator.next(HashMap.java:966) ~[na:1.7.0_45]
> 	java.util.HashMap$EntryIterator.next(HashMap.java:964) ~[na:1.7.0_45]
> 	com.google.common.collect.AbstractMapBasedMultimap$KeySet$1.next(AbstractMapBasedMultimap.java:946)
~[guava-14.0.1.jar:na]
> 	org.apache.drill.exec.physical.impl.sort.SortRecordBatchBuilder.build(SortRecordBatchBuilder.java:94)
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
> 	org.apache.drill.exec.physical.impl.sort.SortBatch.next(SortBatch.java:138) ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
> 	org.apache.drill.exec.physical.impl.aggregate.AggBatch.next(AggBatch.java:85) ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
> 	org.apache.drill.exec.physical.impl.ScreenCreator$ScreenRoot.next(ScreenCreator.java:77)
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
> 	org.apache.drill.exec.work.FragmentRunner.run(FragmentRunner.java:79) ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
> 	java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_45]
> 	java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_45]
> 	java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message