gianm commented on issue #6027: Make Parser.parseToMap() to return a mutable Map
URL: https://github.com/apache/incubator-druid/pull/6027#issuecomment-410334998
 
 
   > What's making me confused is why the Kryo is using the map returned from 
ObjectFlatteners. map is created by calling create() method which is defined as 
below:
   
   I think what Kryo is doing is trying to deserialize a MapBasedInputRow that 
includes a map returned by ObjectFlatteners. I guess what it does on the 
serializer end is write the class name of the map it's serializing, and then on 
the deserializer end it instantiates it with its default constructor and tries 
to `put` the records back in. This part fails because the map returned by 
ObjectFlatteners is an unmodifiable view.
   
   IMO, the best way to fix this is to make a copy of the InputRow before 
giving it to Kryo to serialize. This is happening in non-Druid code so I think 
it's best to make the change there.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on 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