rohityadav1993 opened a new pull request, #13031:
URL: https://github.com/apache/pinot/pull/13031

   `bugfix`
   
   When persisting merged result of previous and new row in 
PartialUpsertHandler, if a null multivalue field is populated using 
_defaultNullValue value it is persisted as a primitive and fails due to 
typecasting when updating dictionary and adding new record. Null multivalue 
fields should be persisted as null.
   
   Observed errors:
   ```
   java.lang.ClassCastException: class java.lang.String cannot be cast to class 
[Ljava.lang.Object; (java.lang.String and [Ljava.lang.Object; are in module 
java.base of loader 'bootstrap')
   at 
org.apache.pinot.segment.local.indexsegment.mutable.MutableSegmentImpl.updateDictionary(MutableSegmentImpl.java:590)
   at 
org.apache.pinot.segment.local.indexsegment.mutable.MutableSegmentImpl.index(MutableSegmentImpl.java:492)
   at 
org.apache.pinot.core.data.manager.realtime.LLRealtimeSegmentDataManager.processStreamEvents(LLRealtimeSegmentDataManager.java:592)
   at 
org.apache.pinot.core.data.manager.realtime.LLRealtimeSegmentDataManager.consumeLoop(LLRealtimeSegmentDataManager.java:443)
   at 
org.apache.pinot.core.data.manager.realtime.LLRealtimeSegmentDataManager$PartitionConsumer.run(LLRealtimeSegmentDataManager.java:679)
   at java.base/java.lang.Thread.run(Thread.java:829)
   ```
   ```
   java.lang.ClassCastException: class java.lang.Double cannot be cast to class 
[Ljava.lang.Object; (java.lang.Double and [Ljava.lang.Object; are in module 
java.base of loader 'bootstrap')
   at 
org.apache.pinot.segment.local.indexsegment.mutable.MutableSegmentImpl.addNewRow(MutableSegmentImpl.java:720)
   at 
org.apache.pinot.segment.local.indexsegment.mutable.MutableSegmentImpl.index(MutableSegmentImpl.java:493)
   at 
org.apache.pinot.core.data.manager.realtime.LLRealtimeSegmentDataManager.processStreamEvents(LLRealtimeSegmentDataManager.java:592)
   at 
org.apache.pinot.core.data.manager.realtime.LLRealtimeSegmentDataManager.consumeLoop(LLRealtimeSegmentDataManager.java:443)
   at 
org.apache.pinot.core.data.manager.realtime.LLRealtimeSegmentDataManager$PartitionConsumer.run(LLRealtimeSegmentDataManager.java:679)
   at java.base/java.lang.Thread.run(Thread.java:829)
   ```
   


-- 
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.

To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org

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