[ https://issues.apache.org/jira/browse/FLINK-5790?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15866030#comment-15866030 ]
ASF GitHub Bot commented on FLINK-5790: --------------------------------------- Github user tillrohrmann commented on a diff in the pull request: https://github.com/apache/flink/pull/3305#discussion_r101071253 --- Diff: flink-runtime/src/main/java/org/apache/flink/runtime/state/ArrayListSerializer.java --- @@ -109,8 +113,8 @@ public void copy(DataInputView source, DataOutputView target) throws IOException @Override public boolean equals(Object obj) { return obj == this || - (obj != null && obj.getClass() == getClass() && - elementSerializer.equals(((ArrayListSerializer<?>) obj).elementSerializer)); + (obj != null && obj.getClass() == getClass() && + elementSerializer.equals(((ArrayListSerializer<?>) obj).elementSerializer)); --- End diff -- reformatting changes are discouraged > Use list types when ListStateDescriptor extends StateDescriptor > --------------------------------------------------------------- > > Key: FLINK-5790 > URL: https://issues.apache.org/jira/browse/FLINK-5790 > Project: Flink > Issue Type: Improvement > Reporter: Xiaogang Shi > Assignee: Xiaogang Shi > > Flink keeps the state serializer in {{StateDescriptor}}, but it's the > serializer of list elements that is put in {{ListStateDescriptor}}. The > implementation is a little confusing. Some backends need to construct the > state serializer with the element serializer by themselves. > We should use an {{ArrayListSerializer}}, which is composed of the serializer > of the element, in the {{ListStateDescriptor}}. It helps the backend to avoid > constructing the state serializer. > If a backend needs customized serialization of the state (e.g. > {{RocksDBStateBackend}}), it still can obtain the element serializer from the > {{ArrayListSerializer}}. -- This message was sent by Atlassian JIRA (v6.3.15#6346)