Stephan Ewen created FLINK-16259:
------------------------------------
Summary: 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
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)