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
