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