[
https://issues.apache.org/jira/browse/FLINK-7475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16310422#comment-16310422
]
ASF GitHub Bot commented on FLINK-7475:
---------------------------------------
Github user StefanRRichter commented on a diff in the pull request:
https://github.com/apache/flink/pull/4963#discussion_r159547336
--- Diff:
flink-runtime/src/main/java/org/apache/flink/runtime/state/heap/HeapListState.java
---
@@ -120,4 +121,16 @@ public void add(V value) {
a.addAll(b);
return a;
}
+
+ @Override
+ public void update(List<V> values) throws Exception {
+ clear();
+
+ if (values != null && !values.isEmpty()) {
+ final N namespace = currentNamespace;
+ final StateTable<K, N, ArrayList<V>> map = stateTable;
+
+ map.put(namespace, new ArrayList<>(values));
--- End diff --
Then, I wonder if changing the generic type of the map to `List` is not the
better solution? Maybe @StephanEwen had the intention to enforce a somewhat
efficient list implementation here?
> support update() in ListState
> -----------------------------
>
> Key: FLINK-7475
> URL: https://issues.apache.org/jira/browse/FLINK-7475
> Project: Flink
> Issue Type: Improvement
> Components: Core, DataStream API, State Backends, Checkpointing
> Affects Versions: 1.4.0
> Reporter: yf
> Assignee: Bowen Li
> Fix For: 1.5.0
>
>
> If I want to update the list.
> I have to do two steps:
> listState.clear()
> for (Element e : myList) {
> listState.add(e);
> }
> Why not I update the state by:
> listState.update(myList) ?
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)