GitHub user StefanRRichter opened a pull request: https://github.com/apache/flink/pull/2863
[FLINK-5051] Backwards compatibility for serializers in backend state This PR sits on top of PR #2781 and introduces backwards compatibility for state serializers in keyed backends. We do so by providing version compatibility checking for ``TypeSerializer`` and making the serializers mandatory part of a keyed backend's meta data in checkpoints (so that we have everything required to reconstruct states in a self contained way). A serialization proxy is introduced for keyed backend state. Currently this serialization proxy covers the meta data, not yet the actual data. As the PR essentially moves functionality to a different place, it is already covered by existing tests. Notice: we should introduce a similar approach for ``OperatorStateBackend``s. You can merge this pull request into a Git repository by running: $ git pull https://github.com/StefanRRichter/flink serializer-backwards-compatibility Alternatively you can review and apply these changes as the patch at: https://github.com/apache/flink/pull/2863.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #2863 ---- commit a373585c2fe71b467f49f0e295dc647b43ab7a9c Author: Stefan Richter <s.rich...@data-artisans.com> Date: 2016-11-01T11:29:01Z Backwards compatibility 1.1 -> 1.2 commit 8e4e4bcede50e66a95928ec854e51d45a7df28bf Author: Stefan Richter <s.rich...@data-artisans.com> Date: 2016-11-09T13:54:35Z Removing some unecessary code from migration classes commit 78bd66fade7f836eafbab978329caf1ea26f2ffc Author: Stefan Richter <s.rich...@data-artisans.com> Date: 2016-11-09T17:21:13Z MultiStreamStateHandle commit a9355679c3476dd890b54312e1696b61c7839873 Author: Stefan Richter <s.rich...@data-artisans.com> Date: 2016-11-10T13:18:55Z Added migration unit test commit d079bd4bdb762c307a3c5cd084590804b90996b1 Author: Stefan Richter <s.rich...@data-artisans.com> Date: 2016-11-10T13:45:58Z rebase fixes commit 9f47bac9c25fc33993c3942a57462039cc578dcd Author: Stefan Richter <s.rich...@data-artisans.com> Date: 2016-11-11T13:46:39Z Minor cleanups: deleting more unnecessary classes commit 2bbe66386d28c7914c62e2c3829ff3ab6840164c Author: Stefan Richter <s.rich...@data-artisans.com> Date: 2016-11-23T13:15:33Z Versioned serialization commit 6460e27717ab208aada988ba2c83d5628b31b310 Author: Stefan Richter <s.rich...@data-artisans.com> Date: 2016-11-23T17:59:45Z Common meta info introduced to keyed backends commit e7d66377730339523bad8e3e6e75865ea5a29a6b Author: Stefan Richter <s.rich...@data-artisans.com> Date: 2016-11-23T21:40:26Z Introducing isCompatibleWith to TypeSerializers commit 89e3779d231fd0dadb01782791c92ec8ebb15a81 Author: Stefan Richter <s.rich...@data-artisans.com> Date: 2016-11-23T22:33:42Z Splitting / Introducing interface for versiond and compatibile commit 6714a7efd3d839befda7a9b744311494e4ecb714 Author: Stefan Richter <s.rich...@data-artisans.com> Date: 2016-11-24T10:59:01Z Cleanup and documentation commit 6df300f7f5a7d7b38b00ecd6636ecd53bc15d370 Author: Stefan Richter <s.rich...@data-artisans.com> Date: 2016-11-24T11:18:43Z Cleanup and documentation commit b22273455d8f9282af715e502244811543e3fb99 Author: Stefan Richter <s.rich...@data-artisans.com> Date: 2016-11-24T16:19:51Z Better abstraction ---- --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---