Github user tzulitai commented on a diff in the pull request:
https://github.com/apache/flink/pull/5230#discussion_r163933180
--- Diff:
flink-runtime/src/main/java/org/apache/flink/runtime/state/OperatorBackendSerializationProxy.java
---
@@ -77,16 +90,29 @@ public void read(DataInputView in) throws IOException {
super.read(in);
int numKvStates = in.readShort();
- stateMetaInfoSnapshots = new ArrayList<>(numKvStates);
+ operatorStateMetaInfoSnapshots = new ArrayList<>(numKvStates);
for (int i = 0; i < numKvStates; i++) {
- stateMetaInfoSnapshots.add(
-
OperatorBackendStateMetaInfoSnapshotReaderWriters
- .getReaderForVersion(getReadVersion(),
userCodeClassLoader)
- .readStateMetaInfo(in));
+ operatorStateMetaInfoSnapshots.add(
+
OperatorBackendStateMetaInfoSnapshotReaderWriters
+
.getOperatorStateReaderForVersion(getReadVersion(), userCodeClassLoader)
+
.readOperatorStateMetaInfo(in));
}
+
+ int numBroadcastStates = in.readShort();
--- End diff --
This here (and onwards) would fail if we're reading older version
savepoints, because there was nothing written for this before.
---