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.


---

Reply via email to