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
>

Reply via email to