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/17 16:31:00 UTC

[jira] [Created] (FLINK-14833) Remove unnecessary SnapshotStrategySynchronicityBehavior from HeapSnapshotStrategy

Jiayi Liao created FLINK-14833:
----------------------------------

             Summary: Remove unnecessary SnapshotStrategySynchronicityBehavior from HeapSnapshotStrategy
                 Key: FLINK-14833
                 URL: https://issues.apache.org/jira/browse/FLINK-14833
             Project: Flink
          Issue Type: Improvement
    Affects Versions: 1.9.1
            Reporter: Jiayi Liao


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 {{SnapshotStrategySynchronicityBehavior}} 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.


 cc [~liyu]

And please correct me if there is a reason here.

 



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