hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ganesha Shreedhara (Jira)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-23473) Handle NPE when ObjectCache is null while getting DynamicValue during ORC split generation
Date Fri, 15 May 2020 13:18:00 GMT

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

Ganesha Shreedhara commented on HIVE-23473:
-------------------------------------------

[~jdere], [~ashutoshc] Please review the patch.

 

 

> Handle NPE when ObjectCache is null while getting DynamicValue during ORC split generation
> ------------------------------------------------------------------------------------------
>
>                 Key: HIVE-23473
>                 URL: https://issues.apache.org/jira/browse/HIVE-23473
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Ganesha Shreedhara
>            Assignee: Ganesha Shreedhara
>            Priority: Major
>         Attachments: HIVE-23473.patch
>
>
> NullPointerException is thrown in the following flow.
>  
> {code:java}
> java.lang.RuntimeException: ORC split generation failed with exception: java.lang.NullPointerException
> Caused by: java.lang.NullPointerException
> at org.apache.orc.impl.RecordReaderImpl.compareToRange(RecordReaderImpl.java:312)
> at org.apache.orc.impl.RecordReaderImpl.evaluatePredicateMinMax(RecordReaderImpl.java:559)
> at org.apache.orc.impl.RecordReaderImpl.evaluatePredicateRange(RecordReaderImpl.java:463)
> at org.apache.orc.impl.RecordReaderImpl.evaluatePredicate(RecordReaderImpl.java:440)
> at org.apache.hadoop.hive.ql.io.orc.OrcInputFormat.isStripeSatisfyPredicate(OrcInputFormat.java:2214)
> at org.apache.hadoop.hive.ql.io.orc.OrcInputFormat.pickStripesInternal(OrcInputFormat.java:2190)
> at org.apache.hadoop.hive.ql.io.orc.OrcInputFormat.pickStripes(OrcInputFormat.java:2182)
> at org.apache.hadoop.hive.ql.io.orc.OrcInputFormat.access$3000(OrcInputFormat.java:186)
> at org.apache.hadoop.hive.ql.io.orc.OrcInputFormat$SplitGenerator.callInternal(OrcInputFormat.java:1477)
> at org.apache.hadoop.hive.ql.io.orc.OrcInputFormat$SplitGenerator.access$2700(OrcInputFormat.java:1265)
> at org.apache.hadoop.hive.ql.io.orc.OrcInputFormat$SplitGenerator$1.run(OrcInputFormat.java:1446)
> .
> .
> org.apache.hadoop.hive.ql.io.orc.OrcInputFormat.generateSplitsInfo(OrcInputFormat.java:1809)
at org.apache.hadoop.hive.ql.io.orc.OrcInputFormat.getSplits(OrcInputFormat.java:1895) at
org.apache.hadoop.hive.ql.io.HiveInputFormat.addSplitsForGroup(HiveInputFormat.java:526) at
org.apache.hadoop.hive.ql.io.HiveInputFormat.getSplits(HiveInputFormat.java:649) at org.apache.hadoop.hive.ql.exec.tez.HiveSplitGenerator.initialize(HiveSplitGenerator.java:206)
> {code}
>  
> Shouldn't we just throw NoDynamicValuesException when [ObjectCache|#L119]] is null instead
of returning it similar to how we handled when [conf |#L110]]or [DynamicValueRegistry|#L125]]
is null while getting dynamic value?
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Mime
View raw message