You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Shreepadma Venugopalan (JIRA)" <ji...@apache.org> on 2013/03/14 21:54:14 UTC

[jira] [Commented] (HIVE-4119) ANALYZE TABLE ... COMPUTE STATISTICS FOR COLUMNS fails with NPE if the table is empty

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

Shreepadma Venugopalan commented on HIVE-4119:
----------------------------------------------

Review request: https://reviews.apache.org/r/9929/
                
> ANALYZE TABLE ... COMPUTE STATISTICS FOR COLUMNS fails with NPE if the table is empty
> -------------------------------------------------------------------------------------
>
>                 Key: HIVE-4119
>                 URL: https://issues.apache.org/jira/browse/HIVE-4119
>             Project: Hive
>          Issue Type: Bug
>          Components: Statistics
>    Affects Versions: 0.10.0
>            Reporter: Lenni Kuff
>            Assignee: Shreepadma Venugopalan
>            Priority: Critical
>         Attachments: HIVE-4119.1.patch
>
>
> ANALYZE TABLE ... COMPUTE STATISTICS FOR COLUMNS fails with NPE if the table is empty
> {code}
> hive -e "create table empty_table (i int); select compute_stats(i, 16) from empty_table"
> java.lang.NullPointerException
> 	at org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableIntObjectInspector.get(WritableIntObjectInspector.java:35)
> 	at org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils.getInt(PrimitiveObjectInspectorUtils.java:535)
> 	at org.apache.hadoop.hive.ql.udf.generic.GenericUDAFComputeStats$GenericUDAFLongStatsEvaluator.iterate(GenericUDAFComputeStats.java:477)
> 	at org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator.aggregate(GenericUDAFEvaluator.java:139)
> 	at org.apache.hadoop.hive.ql.exec.GroupByOperator.closeOp(GroupByOperator.java:1099)
> 	at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:558)
> 	at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:567)
> 	at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:567)
> 	at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:567)
> 	at org.apache.hadoop.hive.ql.exec.ExecMapper.close(ExecMapper.java:193)
> 	at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:61)
> 	at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:428)
> 	at org.apache.hadoop.mapred.MapTask.run(MapTask.java:340)
> 	at org.apache.hadoop.mapred.LocalJobRunner$Job$MapTaskRunnable.run(LocalJobRunner.java:231)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> 	at java.lang.Thread.run(Thread.java:662)
> org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.NullPointerException
> 	at org.apache.hadoop.hive.ql.exec.GroupByOperator.closeOp(GroupByOperator.java:1132)
> 	at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:558)
> 	at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:567)
> 	at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:567)
> 	at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:567)
> 	at org.apache.hadoop.hive.ql.exec.ExecMapper.close(ExecMapper.java:193)
> 	at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:61)
> 	at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:428)
> 	at org.apache.hadoop.mapred.MapTask.run(MapTask.java:340)
> 	at org.apache.hadoop.mapred.LocalJobRunner$Job$MapTaskRunnable.run(LocalJobRunner.java:231)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> 	at java.lang.Thread.run(Thread.java:662)
> Caused by: java.lang.NullPointerException
> 	at org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableIntObjectInspector.get(WritableIntObjectInspector.java:35)
> 	at org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils.getInt(PrimitiveObjectInspectorUtils.java:535)
> 	at org.apache.hadoop.hive.ql.udf.generic.GenericUDAFComputeStats$GenericUDAFLongStatsEvaluator.iterate(GenericUDAFComputeStats.java:477)
> 	at org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator.aggregate(GenericUDAFEvaluator.java:139)
> 	at org.apache.hadoop.hive.ql.exec.GroupByOperator.closeOp(GroupByOperator.java:1099)
> 	... 15 more
> org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.NullPointerException
> 	at org.apache.hadoop.hive.ql.exec.GroupByOperator.closeOp(GroupByOperator.java:1132)
> 	at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:558)
> 	at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:567)
> 	at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:567)
> 	at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:567)
> 	at org.apache.hadoop.hive.ql.exec.ExecMapper.close(ExecMapper.java:193)
> 	at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:61)
> 	at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:428)
> 	at org.apache.hadoop.mapred.MapTask.run(MapTask.java:340)
> 	at org.apache.hadoop.mapred.LocalJobRunner$Job$MapTaskRunnable.run(LocalJobRunner.java:231)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> 	at java.lang.Thread.run(Thread.java:662)
> Caused by: java.lang.NullPointerException
> 	at org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableIntObjectInspector.get(WritableIntObjectInspector.java:35)
> 	at org.apache.hadoop.mapred.MapTask.run(MapTask.java:340)
> 	at org.apache.hadoop.mapred.LocalJobRunner$Job$MapTaskRunnable.run(LocalJobRunner.java:231)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> 	at java.lang.Thread.run(Thread.java:662)
> Caused by: java.lang.NullPointerException
> 	at org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableIntObjectInspector.get(WritableIntObjectInspector.java:35)
> 	at org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils.getInt(PrimitiveObjectInspectorUtils.java:535)
> 	at org.apache.hadoop.hive.ql.udf.generic.GenericUDAFComputeStats$GenericUDAFLongStatsEvaluator.iterate(GenericUDAFComputeStats.java:477)
> 	at org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator.aggregate(GenericUDAFEvaluator.java:139)
> 	at org.apache.hadoop.hive.ql.exec.GroupByOperator.closeOp(GroupByOperator.java:1099)
> 	... 15 more
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira