Hi to all,
I was trying to check whether our jobs are properly typed or not.
I've started disabling generic types[1] in order to discover untyped
transformations and so I added the proper returns() to operators.

Unfortunately there are jobs where we serialize Thrift and DateTime
objects, so I need to properly configure the serializers in the
ExecutionEnvironment:

env.registerTypeWithKryoSerializer(DateTime.class,
JodaDateTimeSerializer.class);
env.getConfig().addDefaultKryoSerializer(EntitonAtom.class,
TBaseSerializer.class);
env.getConfig().addDefaultKryoSerializer(EntitonQuad.class,
TBaseSerializer.class);

Those jobs don't work when I disable generic types and I get the following
exception:

Exception in thread "main" java.lang.UnsupportedOperationException: Generic
types have been
disabled in the ExecutionConfig and type xxx.EntitonAtom is treated as a
generic type.

 I have a couple of questions:

   - addDefaultKryoSerializer differs from registerTypeWithKryoSerializer
   because addDefaultKryoSerializer use the passed serializer also for
   subclasses of the configured class. Am I right? This is not very clear in
   the method's Javadoc...
   - how to avoid that exception?

Best,
Flavio

[1] env.getConfig().disableGenericTypes();

Reply via email to