jihoonson opened a new issue #9131: NPE while reading a list containing nulls 
in Orc files
URL: https://github.com/apache/druid/issues/9131
 
 
   ### Affected Version
   
   master and 0.17.0 branches
   
   ### Description
   
   `OrcStructConverter.convertPrimitive()` assumes `field` is not null, but 
`convertList()` passes null. Here is a stack trace.
   
   ```
   2020-01-06T05:30:09,717 ERROR [task-runner-0-priority-0] 
org.apache.druid.indexing.overlord.SingleTaskBackgroundRunner - Exception while 
running 
task[AbstractTask{id='single_phase_sub_task_s3-orc_odngeokb_2020-01-06T05:29:59.197Z',
 groupId='index_parallel_s3-orc_dbhjmago_2020-01-06T05:29:50.303Z', 
taskResource=TaskResource{availabilityGroup='single_phase_sub_task_s3-orc_odngeokb_2020-01-06T05:29:59.197Z',
 requiredCapacity=1}, dataSource='s3-orc', context={forceTimeChunkLock=true}}]
   java.lang.NullPointerException: null
        at 
org.apache.druid.data.input.orc.OrcStructConverter.convertPrimitive(OrcStructConverter.java:110)
 ~[?:?]
        at 
org.apache.druid.data.input.orc.OrcStructConverter.lambda$convertList$0(OrcStructConverter.java:61)
 ~[?:?]
        at 
java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) 
~[?:1.8.0_212]
        at 
java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382) 
~[?:1.8.0_212]
        at 
java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) 
~[?:1.8.0_212]
        at 
java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) 
~[?:1.8.0_212]
        at 
java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) 
~[?:1.8.0_212]
        at 
java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) 
~[?:1.8.0_212]
        at 
java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) 
~[?:1.8.0_212]
        at 
org.apache.druid.data.input.orc.OrcStructConverter.convertList(OrcStructConverter.java:62)
 ~[?:?]
        at 
org.apache.druid.data.input.orc.OrcStructConverter.convertField(OrcStructConverter.java:213)
 ~[?:?]
        at 
org.apache.druid.data.input.orc.OrcStructConverter.convertRootField(OrcStructConverter.java:172)
 ~[?:?]
        at 
org.apache.druid.data.input.orc.OrcStructFlattenerMaker.getRootField(OrcStructFlattenerMaker.java:74)
 ~[?:?]
        at 
org.apache.druid.data.input.orc.OrcStructFlattenerMaker.getRootField(OrcStructFlattenerMaker.java:39)
 ~[?:?]
        at 
org.apache.druid.java.util.common.parsers.ObjectFlatteners$1$1.get(ObjectFlatteners.java:118)
 ~[druid-core-0.17.0-SNAPSHOT.jar:0.17.0-SNAPSHOT]
        at java.util.Collections$UnmodifiableMap.get(Collections.java:1454) 
~[?:1.8.0_212]
        at org.apache.druid.data.input.MapBasedRow.getRaw(MapBasedRow.java:87) 
~[druid-core-0.17.0-SNAPSHOT.jar:0.17.0-SNAPSHOT]
        at 
org.apache.druid.segment.incremental.IncrementalIndex.toIncrementalIndexRow(IncrementalIndex.java:672)
 ~[druid-processing-0.17.0-SNAPSHOT.jar:0.17.0-SNAPSHOT]
        at 
org.apache.druid.segment.incremental.IncrementalIndex.add(IncrementalIndex.java:606)
 ~[druid-processing-0.17.0-SNAPSHOT.jar:0.17.0-SNAPSHOT]
        at org.apache.druid.segment.realtime.plumber.Sink.add(Sink.java:210) 
~[druid-server-0.17.0-SNAPSHOT.jar:0.17.0-SNAPSHOT]
        at 
org.apache.druid.segment.realtime.appenderator.AppenderatorImpl.add(AppenderatorImpl.java:259)
 ~[druid-server-0.17.0-SNAPSHOT.jar:0.17.0-SNAPSHOT]
        at 
org.apache.druid.segment.realtime.appenderator.BaseAppenderatorDriver.append(BaseAppenderatorDriver.java:408)
 ~[druid-server-0.17.0-SNAPSHOT.jar:0.17.0-SNAPSHOT]
        at 
org.apache.druid.segment.realtime.appenderator.BatchAppenderatorDriver.add(BatchAppenderatorDriver.java:113)
 ~[druid-server-0.17.0-SNAPSHOT.jar:0.17.0-SNAPSHOT]
        at 
org.apache.druid.indexing.common.task.batch.parallel.SinglePhaseSubTask.generateAndPushSegments(SinglePhaseSubTask.java:476)
 ~[druid-indexing-service-0.17.0-SNAPSHOT.jar:0.17.0-SNAPSHOT]
        at 
org.apache.druid.indexing.common.task.batch.parallel.SinglePhaseSubTask.runTask(SinglePhaseSubTask.java:225)
 ~[druid-indexing-service-0.17.0-SNAPSHOT.jar:0.17.0-SNAPSHOT]
        at 
org.apache.druid.indexing.common.task.AbstractBatchIndexTask.run(AbstractBatchIndexTask.java:138)
 ~[druid-indexing-service-0.17.0-SNAPSHOT.jar:0.17.0-SNAPSHOT]
        at 
org.apache.druid.indexing.overlord.SingleTaskBackgroundRunner$SingleTaskBackgroundRunnerCallable.call(SingleTaskBackgroundRunner.java:419)
 [druid-indexing-service-0.17.0-SNAPSHOT.jar:0.17.0-SNAPSHOT]
        at 
org.apache.druid.indexing.overlord.SingleTaskBackgroundRunner$SingleTaskBackgroundRunnerCallable.call(SingleTaskBackgroundRunner.java:391)
 [druid-indexing-service-0.17.0-SNAPSHOT.jar:0.17.0-SNAPSHOT]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
[?:1.8.0_212]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
[?:1.8.0_212]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
[?:1.8.0_212]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212]
   ```

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to