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

NPE in Hive windowing functions

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 2.3.2, 2.3.3
    • 4.0.0-alpha-1
    • None

    Description

      When I run a Hive query with windowing functions, if there's enough data I get an NPE.

      For example something like this query might break:

      select id, created_date, max(created_date) over (partition by id) latest_created_any from ...

      The only workaround I've found is to remove the windowing functions entirely.

      The stacktrace looks suspiciously similar to HIVE-15278, but I'm in hive-2.3.2 which appears to have the bugfix applied.

       

       Caused by: java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while processing row (tag=0) <some row data here>
             at org.apache.hadoop.hive.ql.exec.tez.ReduceRecordSource.pushRecord(ReduceRecordSource.java:297)
              at org.apache.hadoop.hive.ql.exec.tez.ReduceRecordProcessor.run(ReduceRecordProcessor.java:317)
              at org.apache.hadoop.hive.ql.exec.tez.TezProcessor.initializeAndRunProcessor(TezProcessor.java:185)
             ... 14 more

       Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while processing row (tag=0) <some row data here>
              at org.apache.hadoop.hive.ql.exec.tez.ReduceRecordSource$GroupIterator.next(ReduceRecordSource.java:365)
             at org.apache.hadoop.hive.ql.exec.tez.ReduceRecordSource.pushRecord(ReduceRecordSource.java:287)
              ... 16 more

      Caused by: java.lang.NullPointerException
               at org.apache.hadoop.hive.ql.exec.persistence.PTFRowContainer.first(PTFRowContainer.java:115)
               at org.apache.hadoop.hive.ql.exec.PTFPartition.iterator(PTFPartition.java:114)
               at org.apache.hadoop.hive.ql.udf.ptf.BasePartitionEvaluator.getPartitionAgg(BasePartitionEvaluator.java:200)
               at org.apache.hadoop.hive.ql.udf.ptf.WindowingTableFunction.evaluateFunctionOnPartition(WindowingTableFunction.java:155)
               at org.apache.hadoop.hive.ql.udf.ptf.WindowingTableFunction.iterator(WindowingTableFunction.java:538)
               at org.apache.hadoop.hive.ql.exec.PTFOperator$PTFInvocation.finishPartition(PTFOperator.java:349)
               at org.apache.hadoop.hive.ql.exec.PTFOperator.process(PTFOperator.java:123)
               at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:897)
               at org.apache.hadoop.hive.ql.exec.SelectOperator.process(SelectOperator.java:95)
               at org.apache.hadoop.hive.ql.exec.tez.ReduceRecordSource$GroupIterator.next(ReduceRecordSource.java:356)

      Attachments

        1. HIVE-18786.1.patch
          3 kB
          Dongwook Kwon
        2. HIVE-18786.2.patch
          4 kB
          Dongwook Kwon

        Activity

          People

            dongwook Dongwook Kwon
            bien Michael Bieniosek
            Votes:
            3 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: