jackjlli opened a new pull request #5746:
URL: https://github.com/apache/incubator-pinot/pull/5746


   ## Description
   This PR fixed the issue introduced from this PR: 
https://github.com/apache/incubator-pinot/pull/5238
   
   Basically the value of the multi-value column should be at the 1st level 
instead of digging into the deepest level. The issue is causing the segment 
creation fail to extract the correct value from the avro file.
   
   ## Tests Done
   Before the change:
   ```
   java.lang.ClassCastException: java.util.HashMap cannot be cast to 
java.lang.Number
        at 
org.apache.pinot.core.data.recordtransformer.PinotDataType$11.toInteger(PinotDataType.java:392)
 ~[classes/:?]
        at 
org.apache.pinot.core.data.recordtransformer.PinotDataType.toIntegerArray(PinotDataType.java:512)
 ~[classes/:?]
        at 
org.apache.pinot.core.data.recordtransformer.PinotDataType$13.convert(PinotDataType.java:441)
 ~[classes/:?]
        at 
org.apache.pinot.core.data.recordtransformer.PinotDataType$13.convert(PinotDataType.java:438)
 ~[classes/:?]
        at 
org.apache.pinot.core.data.recordtransformer.DataTypeTransformer.transform(DataTypeTransformer.java:100)
 ~[classes/:?]
        at 
org.apache.pinot.core.data.recordtransformer.CompositeTransformer.transform(CompositeTransformer.java:74)
 ~[classes/:?]
        at 
org.apache.pinot.core.segment.creator.RecordReaderSegmentCreationDataSource.gatherStats(RecordReaderSegmentCreationDataSource.java:70)
 ~[classes/:?]
        at 
org.apache.pinot.core.segment.creator.RecordReaderSegmentCreationDataSource.gatherStats(RecordReaderSegmentCreationDataSource.java:38)
 ~[classes/:?]
        at 
org.apache.pinot.core.segment.creator.impl.SegmentIndexCreationDriverImpl.init(SegmentIndexCreationDriverImpl.java:146)
 ~[classes/:?]
        at 
org.apache.pinot.core.segment.creator.impl.SegmentIndexCreationDriverImpl.init(SegmentIndexCreationDriverImpl.java:131)
 ~[classes/:?]
        at 
org.apache.pinot.core.segment.creator.impl.SegmentIndexCreationDriverImpl.init(SegmentIndexCreationDriverImpl.java:93)
 ~[classes/:?]
        at 
org.apache.pinot.tools.admin.command.CreateSegmentCommand.lambda$execute$0(CreateSegmentCommand.java:238)
 ~[classes/:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
[?:1.8.0_172]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
[?:1.8.0_172]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
[?:1.8.0_172]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_172]
   ```
   
   After the change:
   ```
   2020/07/23 17:02:15.195 INFO [CreateSegmentCommand] [pool-2-thread-1] 
Successfully created segment: 
messageInsightsSendEventsDaily_20200722_20200722_0 at directory: 
~/sampleData/output/segmentName_20200722_20200722_0
   2020/07/23 17:02:15.196 INFO [CreateSegmentCommand] [main] Successfully 
created 1 segments from data files: [~/sampleData/input/test.avro]
   ```
   


----------------------------------------------------------------
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:
us...@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to