Github user StefanRRichter commented on a diff in the pull request:

    https://github.com/apache/flink/pull/5950#discussion_r185828137
  
    --- Diff: 
flink-core/src/main/java/org/apache/flink/api/common/typeutils/TypeSerializerSerializationUtil.java
 ---
    @@ -200,7 +197,7 @@ public static void 
writeSerializersAndConfigsWithResilience(
                        for (int i = 0; i < numSerializersAndConfigSnapshots; 
i++) {
     
                                bufferWithPos.setPosition(offsets[i * 2]);
    -                           serializer = tryReadSerializer(bufferWrapper, 
userCodeClassLoader);
    +                           serializer = tryReadSerializer(bufferWrapper, 
userCodeClassLoader, true);
    --- End diff --
    
    The problem is that this method might mix too many things together, that is 
also again visible in the complex return type and e.g. many call sites are only 
interested in the first element of the list. Wonder if we should break this up 
in dedicated steps (serializer, config) and let the callers invoke them one by 
one, so that we can handle exceptions on a higher level and make decisions 
about if we need to have a serializer there.


---

Reply via email to