krishan1390 opened a new pull request, #16888:
URL: https://github.com/apache/pinot/pull/16888
The map stats collector had a bug where it used default of the "value" type
of the map field.
For heterogeneous maps (where different keys have different value types),
this led to an exception if a record was missing a key
```
java.lang.ClassCastException: class java.lang.String cannot be cast to class
java.lang.Double (java.lang.String and java.lang.Double are in module java.base
of loader 'bootstrap')
at
org.apache.pinot.segment.local.segment.creator.impl.stats.DoubleColumnPreIndexStatsCollector.collect(DoubleColumnPreIndexStatsCollector.java:59)
at
org.apache.pinot.segment.local.segment.creator.impl.stats.MapColumnPreIndexStatsCollector.seal(MapColumnPreIndexStatsCollector.java:156)
at
org.apache.pinot.segment.local.segment.creator.impl.stats.MapColumnPreIndexStatsCollectorTest.testMapCollector(MapColumnPreIndexStatsCollectorTest.java:86)
```
The fix is to use default from the type of the actual expected value for the
key
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]