[
https://issues.apache.org/jira/browse/FLINK-5790?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15866027#comment-15866027
]
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_r101068148
--- Diff:
flink-core/src/main/java/org/apache/flink/api/common/state/ListStateDescriptor.java
---
@@ -40,20 +44,22 @@
* consider using the {@link #ListStateDescriptor(String,
TypeInformation)} constructor.
*
* @param name The (unique) name for the state.
- * @param typeClass The type of the values in the state.
+ * @param elementTypeClass The type of the elements in the state.
*/
- public ListStateDescriptor(String name, Class<T> typeClass) {
- super(name, typeClass, null);
+ @SuppressWarnings("unchecked")
--- End diff --
Why these annotations?
> 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)