Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-320

Issuing queries with COUNT(DISTINCT) on a column that may contain null values hits a NPE

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • 0.3.0, 0.6.0
    • 0.3.0
    • Query Processor
    • None
    • Reviewed

    Description

      When issuing a query that may contain a null value, I get a NPE.

      E.g. if 'middle_name' potentially holds null values,

      select count(distinct middle_name) from people; will fail with the below exception.

      Other queries that work with the same input set:
      select distinct middle_name from people;
      select count(1), middle_name from people group by middle_name;

      java.io.IOException: org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.NullPointerException
      at org.apache.hadoop.hive.ql.exec.ExecReducer.reduce(ExecReducer.java:169)
      at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:318)
      at org.apache.hadoop.mapred.TaskTracker$Child.main(TaskTracker.java:2198)
      Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.NullPointerException
      at org.apache.hadoop.hive.ql.exec.GroupByOperator.process(GroupByOperator.java:424)
      at org.apache.hadoop.hive.ql.exec.ExecReducer.reduce(ExecReducer.java:164)
      ... 2 more
      Caused by: java.lang.NullPointerException
      at org.apache.hadoop.hive.ql.exec.GroupByOperator.updateAggregations(GroupByOperator.java:376)
      at org.apache.hadoop.hive.ql.exec.GroupByOperator.processAggr(GroupByOperator.java:477)
      at org.apache.hadoop.hive.ql.exec.GroupByOperator.process(GroupByOperator.java:420)
      ... 3 more

      Attachments

        1. hive.320.1.patch
          0.8 kB
          Namit Jain

        Issue Links

          Activity

            People

              namit Namit Jain
              ryancshih Ryan Shih
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: