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

Jiayi Liao updated FLINK-14833:
-------------------------------
    Description: 
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]

  was:
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.

 cc [~liyu]

And please correct me if there is a reason here.

 


> Remove unnecessary SnapshotStrategySynchronicityBehavior interface 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
>            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)

Reply via email to