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]
