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)