Hi Stephan

I prefer to remove 'enableForceKryo' since Kryo serializer does not work 
out-of-the-box well for schema evolution stories due to its mutable properties, 
and our built-in POJO serializer has already supported schema evolution.

On the other hand, what's the backward compatibility plan for enableForceAvro() 
and enableForceKryo()?  I think if 
https://issues.apache.org/jira/browse/FLINK-11917 merged, we could support to 
migrate state which was POJO but serialized using Kryo.

Best
Yun Tang
________________________________
From: Stephan Ewen <se...@apache.org>
Sent: Tuesday, March 26, 2019 2:31
To: dev; user
Subject: [DISCUSS] Remove forceAvro() and forceKryo() from the ExecutionConfig

Hi all!

The ExecutionConfig has some very old settings: forceAvro() and forceKryo(), 
which are actually misleadingly named. They cause POJOs to use Avro or Kryo 
rather than the POJO serializer.

I think we do not have a good case any more to use Avro for POJOs. POJOs that 
are also Avro types go through the Avro serializer anyways.

There may be a case to use Kryo for POJOs if you don't like the Flink POJO 
serializer.

I would suggest to remove the "forceAvro()" option completely.
For "forceKryo()", I am torn between removing it completely or renaming it to 
"setUseKryoForPOJOs()".

What are the opinion on that out there?

Best,
Stephan

Reply via email to