curcur edited a comment on pull request #15420: URL: https://github.com/apache/flink/pull/15420#issuecomment-866993246
Another suggestion: which might be a bit picky but will help greatly readability and error prune in the future: For each `XXXStateChangeApplier` and `ChangelogXXXState` (like `ListStateChangeApplier` and `ChangelogListState`) Is it possible to make a more consistent naming? like this in `ListStateChangeApplier` ``` @Override protected void applyStateElementAdded(DataInputView in) throws Exception { TypeSerializer<List<T>> valueSerializer = state.getValueSerializer(); if (valueSerializer instanceof ListSerializer) { state.add(((ListSerializer<T>) valueSerializer).getElementSerializer().deserialize(in)); } else { state.addAll(valueSerializer.deserialize(in)); } } ``` corresponds to `ChangelogListState` ``` @Override public void add(V value) throws Exception { delegatedState.add(value); changeLogger.valueElementAdded( w -> ((ListSerializer<V>) getValueSerializer()) .getElementSerializer() .serialize(value, w), getCurrentNamespace()); } ``` And you can see that their implementation is different. In the latter, you assume the value serializer is always a ListSerializer === I am asking because there are a lot of similar methods like update, update internal, e.t.c Right now, it is difficult to map them directly and hard to check which should be supported/unsupported; missed or redundant. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org