[ https://issues.apache.org/jira/browse/FLINK-4603?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15512773#comment-15512773 ]
ASF GitHub Bot commented on FLINK-4603: --------------------------------------- Github user aljoscha commented on a diff in the pull request: https://github.com/apache/flink/pull/2533#discussion_r80005604 --- Diff: flink-runtime/src/main/java/org/apache/flink/runtime/state/heap/HeapKeyedStateBackend.java --- @@ -266,18 +265,20 @@ public void restorePartitionedState(List<KeyGroupsStateHandle> state) throws Exc for (int i = 0; i < numKvStates; ++i) { String stateName = inView.readUTF(); - ObjectInputStream ois = new ObjectInputStream(inView); + TypeSerializer namespaceSerializer = + InstantiationUtil.deserializeObject(fsDataInputStream, userCodeClassLoader); + TypeSerializer stateSerializer = + InstantiationUtil.deserializeObject(fsDataInputStream, userCodeClassLoader); - TypeSerializer namespaceSerializer = (TypeSerializer) ois.readObject(); - TypeSerializer stateSerializer = (TypeSerializer) ois.readObject(); - StateTable<K, ?, ?> stateTable = new StateTable(stateSerializer, + StateTable<K, ?, ?> stateTable = new StateTable( + stateSerializer, namespaceSerializer, keyGroupRange); stateTables.put(stateName, stateTable); kvStatesById.put(i, stateName); } - for (int keyGroupIndex = keyGroupRange.getStartKeyGroup(); keyGroupIndex <= keyGroupRange.getEndKeyGroup(); keyGroupIndex++) { + for (int keyGroupIndex = keyGroupRange.getStartKeyGroup(); keyGroupIndex <= keyGroupRange.getEndKeyGroup(); ++keyGroupIndex) { --- End diff -- Was this wrong before? > KeyedStateBackend cannot restore user code classes > -------------------------------------------------- > > Key: FLINK-4603 > URL: https://issues.apache.org/jira/browse/FLINK-4603 > Project: Flink > Issue Type: Bug > Components: State Backends, Checkpointing > Affects Versions: 1.2.0 > Reporter: Till Rohrmann > Assignee: Stefan Richter > Priority: Blocker > Fix For: 1.2.0 > > > A user reported that he cannot restore keyed state which contains user code > classes. I suspect that we don't use the user code class loader to > deserialize the state. > The solution seems to be to forward the user code class loader to the > {{KeyedStateBackends}} when restoring state. -- This message was sent by Atlassian JIRA (v6.3.4#6332)