Compatibility is really important for checkpointed state. For that, you can always directly specify GenericTypeInfo or AvroTypeInfo if you want to continue to treat a type via Kryo or Avro.
Alternatively, once https://issues.apache.org/jira/browse/FLINK-11917 is implemented, this should happen automatically. On Tue, Mar 26, 2019 at 8:33 AM Yun Tang <myas...@live.com> wrote: > 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 > >