You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Jiayi Liao (Jira)" <ji...@apache.org> on 2019/11/28 15:44:00 UTC

[jira] [Updated] (FLINK-14833) Remove hierachy of SnapshotStrategySynchronicityBehavior in HeapSnapshotStrategy

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

Jiayi Liao updated FLINK-14833:
-------------------------------
    Summary:  Remove hierachy of SnapshotStrategySynchronicityBehavior in HeapSnapshotStrategy  (was: Remove unnecessary SnapshotStrategySynchronicityBehavior interface from HeapSnapshotStrategy)

>  Remove hierachy of SnapshotStrategySynchronicityBehavior in HeapSnapshotStrategy
> ---------------------------------------------------------------------------------
>
>                 Key: FLINK-14833
>                 URL: https://issues.apache.org/jira/browse/FLINK-14833
>             Project: Flink
>          Issue Type: Improvement
>          Components: Runtime / State Backends
>    Affects Versions: 1.9.1
>            Reporter: Jiayi Liao
>            Priority: Major
>
> Since all methods implementing from {{SnapshotStrategySynchronicityBehavior}} in {{HeapSnapshotStrategy}} are executing as the same pattern below: 
> {code:java}
> @Override
> public void finalizeSnapshotBeforeReturnHook(Runnable runnable) {
>    snapshotStrategySynchronicityTrait.finalizeSnapshotBeforeReturnHook(runnable);
> }
> @Override
> public boolean isAsynchronous() {
>    return snapshotStrategySynchronicityTrait.isAsynchronous();
> }
> @Override
> public <N, V> StateTable<K, N, V> newStateTable(
>    InternalKeyContext<K> keyContext,
>    RegisteredKeyValueStateBackendMetaInfo<N, V> newMetaInfo,
>    TypeSerializer<K> keySerializer) {
>    return snapshotStrategySynchronicityTrait.newStateTable(keyContext, newMetaInfo, keySerializer);
> }
> {code}
> It looks like implementing the {{SnapshotStrategySynchronicityBehavior}} interface is not necessary for {{HeapSnapshotStrategy}} and we can just remove it and the related {{@Override}} annotations. And {{HeapSnapshotStrategy}} doesn't match the java docs in {{SnapshotStrategySynchronicityBehavior}} also.
>  
> And please correct me if there is a reason here.
>  
> cc [~liyu]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)