tzulitai opened a new pull request #12209: URL: https://github.com/apache/flink/pull/12209
## What is the purpose of the change Previously, the abstraction provided by `CompositeTypeSerializerSnapshot` only allows a mismatch in the outer configuration of composite serializers to be resolved as incompatible (restore fails) or compatible (restore continues as is). The resolution logic is captured as a `isOuterSnapshotCompatible` method, returning a flag. A requirement to additionally allow migration based on the outer configuration has came up in https://issues.apache.org/jira/browse/FLINK-16998. This PR extends functionality of the abstraction by deprecating the old `boolean isOuterSnapshotCompatible(serializer)`, in favor of a new `OuterSchemaCompatibility resolveOuterSchemaCompatibility(serializer)`. The change is backwards compatible - existing subclasses are not broken API / behaviour wise. ## Brief change log Existing tests (e.g. subclasses of `TypeSerializerUpgradeTestBase`) should cover this change. An additional unit test in `CompositeTypeSerializerSnapshotTest` was also added for this. ## Does this pull request potentially affect one of the following parts: - Dependencies (does it add or upgrade a dependency): NO - The public API, i.e., is any changed class annotated with `@Public(Evolving)`: **YES** - The serializers: **YES** - The runtime per-record code paths (performance sensitive): NO - Anything that affects deployment or recovery: NO - The S3 file system connector: NO ## Documentation - Does this pull request introduce a new feature? YES - If yes, how is the feature documented? DOCS + JAVADOCS ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: [email protected]
