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.
---