flink-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Yun Tang <myas...@live.com>
Subject Re: [DISCUSS] Remove forceAvro() and forceKryo() from the ExecutionConfig
Date Tue, 26 Mar 2019 07:33:07 GMT
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.

Yun Tang
From: Stephan Ewen <sewen@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?


View raw message