tzulitai opened a new pull request #7256: [FLINK-11087] [state] Incorrect K/V serializer association when reading broadcast from 1.5.x snapshots URL: https://github.com/apache/flink/pull/7256 ## What is the purpose of the change This is a bug that prevents Flink versions 1.6.x (up to latest 1.6.2) and 1.7.0 to successfully restore broadcast state that was taken in 1.5.x. The problem is that when restoring a broadcast state's meta information from a 1.5.x savepoint, the `LegacyStateMetaInfoReaders.OperatorBackendStateMetaInfoReaderV2V3` incorrectly associates the first restored serializer as the value serializer, and the second restored serializer as the key serializer. The actual order of this should be the other way around. This PR also updates the `StatefulJobWBroadcastStateMigrationITCase` to have different K/V types for the broadcast states under test, as well as re-generate the test savepoints in `release-1.5` and `release-1.6`. That migration ITCase failed to catch this bug, because with K/V types being identical (and therefore identical serializers), the incorrect association didn't affect the result of the test. ## Brief change log - Fix K/V serializer association in `LegacyStateMetaInfoReaders.OperatorBackendStateMetaInfoReaderV2V3`. - Update `StatefulJobWBroadcastStateMigrationITCase` to have different K/V types for the broadcast states under test - Regenerate test savepoints for `StatefulJobWBroadcastStateMigrationITCase` under branches `release-1.6` and `release-1.5`. - Amend compatibility table in docs (https://ci.apache.org/projects/flink/flink-docs-master/ops/upgrading.html#compatibility-table) to notify the issue. ## Verifying this change The updated `StatefulJobWBroadcastStateMigrationITCase` should pass. ## 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)
---------------------------------------------------------------- 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: us...@infra.apache.org With regards, Apache Git Services