[FLINK-10778] [tests] Extend TypeSerializerSnapshotMigrationTestBase to test migrating from multiple versions #7504
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What is the purpose of the change
Prior to this PR, the
TypeSerializerSnapshotMigrationTestBase
was hardcoded to only test restoring from serializer snapshots generated in Flink 1.6.x.The main goal of this PR is to:
TypeSerializerSnapshot
abstraction.Brief change log
MigrationVersion
class to flink-core, since it'll be used byTypeSerializerSnapshotMigrationTestBase
.TypeSerializerSnapshotMigrationTestBase
version-aware. Test specifications can now define the version that the target test snapshot was taken in.TypeSerializerSnapshot
abstraction.TestSpecifications
class that would help with de-duplicating code when specifying test specifications for multiple versions.MigrationVersion.1.7
to the parameters of all existingTypeSerializerSnapshotMigrationTestBase
subclasses, as well as generating the required test snapshot / data files for them.Verifying this change
This is a refactoring of tests.
All subclasses of
TypeSerializerSnapshotMigrationTestBase
should be passing still.Does this pull request potentially affect one of the following parts:
@Public(Evolving)
: noDocumentation