tzulitai opened a new pull request #10324: [FLINK-11767] Introduce new TypeSerializerUpgradeTestBase URL: https://github.com/apache/flink/pull/10324 ## What is the purpose of the change This PR introduces `TypeSerializerUpgradeTestBase` to fully replace `TypeSerializerSnapshotMigrationTestBase`. The old test base needs to be replaced because it does not provide any means to generate test serializer snapshot files for each corresponding serializer. Before, what was written in the serializer snapshot test files and how they were written was not visible at all to developers, and also caused a lot of trouble when attempting to release new Flink versions and we have to generate new test files for the current version. As part of this change, the PR introduces a utility class `ClassRelocator`. This utility allows us to relocate classes to a different name. We require this in the serializer upgrade tests, because some test scenarios attempt to test schema upgrades, e.g. adding / removing fields from a Pojo class. The `ClassRelocator` utility allows us to define two different versions of a Pojo class under the same name (one pre-upgrade that is used for writing the test serializer snapshot file, and the other after upgrade used for upgrade verification). ## Brief change log - ed1be69 introduces `ClassRelocator` - 24f8356 introduces new test base `TypeSerializerUpgradeTestBase` - 2bcdaed Adds a new `PojoSerializer` upgrade test based on the new test base. ## Verifying this change - Run the new `PojoSerializerUpgradeTest`. It should work also in the IDE. - All test snapshot files should be auto-generated, if they do not exist. ## Does this pull request potentially affect one of the following parts: - Dependencies (does it add or upgrade a dependency): (yes / **no**) - The public API, i.e., is any changed class annotated with `@Public(Evolving)`: (yes / **no**) - The serializers: (yes / **no** / don't know) - The runtime per-record code paths (performance sensitive): (yes / **no** / don't know) - Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes / **no** / don't know) - The S3 file system connector: (yes / **no** / don't know) ## Documentation - Does this pull request introduce a new feature? (yes / **no**) - If yes, how is the feature documented? (**not applicable** / docs / JavaDocs / not documented)
---------------------------------------------------------------- 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] With regards, Apache Git Services
