Good point, Konstantin, that makes sense. On Tue, Mar 26, 2019 at 10:37 AM Konstantin Knauf <konstan...@ververica.com> wrote:
> Hi Stephan, > > I am in favor of renaming forceKryo() instead of removing it, because users > might plugin their Protobuf/Thrift serializers via Kryo as advertised in > our documentation [1]. For this, Kryo needs to be used for POJO types as > well, if I am not mistaken. > > Cheers, > > Konstantin > > [1] > > https://ci.apache.org/projects/flink/flink-docs-release-1.7/dev/custom_serializers.html > > > On Tue, Mar 26, 2019 at 10:03 AM Stephan Ewen <se...@apache.org> wrote: > > > 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 > >> > >> > > -- > > Konstantin Knauf | Solutions Architect > > +49 160 91394525 > > <https://www.ververica.com/> > > Follow us @VervericaData > > -- > > Join Flink Forward <https://flink-forward.org/> - The Apache Flink > Conference > > Stream Processing | Event Driven | Real Time > > -- > > Data Artisans GmbH | Invalidenstrasse 115, 10115 Berlin, Germany > > -- > Data Artisans GmbH > Registered at Amtsgericht Charlottenburg: HRB 158244 B > Managing Directors: Dr. Kostas Tzoumas, Dr. Stephan Ewen >