[ 
https://issues.apache.org/jira/browse/FLINK-16259?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stephan Ewen closed FLINK-16259.
--------------------------------

>  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)

Reply via email to