tzulitai commented on issue #7658: [FLINK-10493][core] Migrating the 
TupleSerializerBase serializers family
URL: https://github.com/apache/flink/pull/7658#issuecomment-462239675
 
 
   To recap the changes here:
   
   - Added a `SelfResolvingTypeSerializer` interface to facilitate redirecting 
compatibility checks to new snapshot classes.
   - `Tuple0Serializer`, `TupleSerializer`, `Tuple2CaseClassSerializer`, and 
`CaseClassSerializer` all implement the `SelfResolvingTypeSerializer`.
   - Because of that, `ensureCompatibility` on the `TupleSerializerBase` can be 
removed (and is removed in this PR), because the serializers themselves all 
redirect the compatibility checks themselves, and would therefore not rely on 
`TupleSerializerBase` anymore for the compatibility check.
   - A new concrete class `SpecificCaseClassSerializer` is added to replace 
`CaseClassSerializer`.
   - New snapshot classes `Tuple0SerializerSnapshot`, 
`TupleSerializerSnapshot`, and `Tuple2CaseClassSerializerSnapshot` and 
`SpecificCaseClassSerializerSnapshot` are added to replace the original 
`TupleSerializerConfigSnapshot`.
   - Scala Macro for generating case class serializers is touched to always 
return the new `SpecificCaseClassSerializer`, while still generating anonymous 
classes with same classnames (assured by tests) for backwards compatibility.

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

Reply via email to