Hi,

While building IT tests which extend MultipleProgramsTestBase, I encountered a problem with serialization:

I posted a minimal example here:
https://gist.github.com/s1ck/566796df5f35ee1de6f9

This runs fine with LocalEnvironment. However, when executing this in CollectionEnvironment, it leads to the following Exception:

Exception in thread "main" com.esotericsoftware.kryo.KryoException: Class cannot be created (missing no-arg constructor): java.util.UUID
Serialization trace:
uuid (ObjectInTuple$ID)
at com.esotericsoftware.kryo.Kryo$DefaultInstantiatorStrategy.newInstantiatorOf(Kryo.java:1228)

I tried to manually register a UUIDSerializer (which should not be necessary as Flink has a dependency to such "default" serializers), but this did not fix the problem.

What I don't understand in general is why the LocalEnvironment and the CollectionEnvironment use different strategies (e.g. in serialization and also in workflow execution).

Thanks for your help!

Best,
Martin

Reply via email to