[
https://issues.apache.org/jira/browse/FLINK-16259?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Stephan Ewen resolved FLINK-16259.
----------------------------------
Fix Version/s: 1.11.0
Resolution: Fixed
Fixed in 1.11.0 via ff8362905aeec3d5739d03cad9e13be57a586e3a
> Drop interface/impl separation for checkpoint Metadata and rename MetadataV2
> to CheckpointMetadata
> ---------------------------------------------------------------------------------------------------
>
> Key: FLINK-16259
> URL: https://issues.apache.org/jira/browse/FLINK-16259
> Project: Flink
> Issue Type: Improvement
> Reporter: Stephan Ewen
> Assignee: Stephan Ewen
> Priority: Major
> Fix For: 1.11.0
>
>
> The interface {{Savepoint}} (which described the checkpoint metadata) and its
> different implementations are misleading. There is only ever one real
> implementation: the latest version.
> All deserializers need to go to that version, to keep the complex versioning
> logic out of other parts of the code.
> Further more, this is a simple "data holder" class, simply storing
> collections, there is no behavior to be abstracted behind an interface.
> Even if there were different versions (as in an earlier version of the code,
> where a class for tests was in the main scope), the interface becomes a union
> of all accessors to all different collections from different versions (with
> all accessors but the ones for the latest version deprecated).
> In conclusion, this interface is misleading and suggesting something that is
> not there, namely that multiple versions of the metadata are handled in
> various places in the code, and not just during deserialization.
> To make this explicit, we should remove the {{Savepoint}} interface and have
> only one implementation (SavepointV2}}) renamed to {{CheckpointMetadata}}.
> See also FLINK-16247 about renaming the {{checkpoint.savepoint}} package to
> {{checkpoint.metadata}}.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)