xiangfu0 commented on PR #19035:
URL: https://github.com/apache/pinot/pull/19035#issuecomment-5230138971

   **Major — HTTP vs gRPC MAP return different Java value types** 
(`PinotResultSet.getMap` vs `PinotGrpcResultSet.getMap`)
   
   HTTP parses with `MAP_READER` (`TypeReference<Map<?,?>>`), so Jackson infers 
`Integer`/`Long`/`Double`/`Boolean`/`String`. gRPC instead wraps the decoder's 
already-deserialized map (`new HashMap<>((Map<?,?>) value)`), whose values come 
from `JsonResponseEncoder.extractValue(JsonNode)` and can be 
`Short`/`BigInteger`/`Float`/`BigDecimal`. So `getObject` on the same MAP query 
returns transport-dependent Java types, breaking `equals()` and downstream 
numeric handling.
   
   This isn't caught by tests: the gRPC MAP test uses only `String`/`Integer` 
values, and there's no HTTP MAP test at all. Suggest normalizing both paths to 
the same element typing and adding a mixed-numeric MAP test to both suites.
   


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

Reply via email to