[
https://issues.apache.org/jira/browse/FLINK-7420?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16209108#comment-16209108
]
Timo Walther commented on FLINK-7420:
-------------------------------------
In theory, I have this ready in branch. I can open a PR for it. However, I
think we should create a proper {{AvroTypeInfo}} that does not depend on Kryo
first, if we want to have a nice solution. But we can discuss this in the PR
again.
> Move all Avro code to flink-avro
> --------------------------------
>
> Key: FLINK-7420
> URL: https://issues.apache.org/jira/browse/FLINK-7420
> Project: Flink
> Issue Type: Improvement
> Components: Build System
> Reporter: Stephan Ewen
> Assignee: Timo Walther
> Priority: Blocker
> Fix For: 1.4.0
>
>
> *Problem*
> Currently, the {{flink-avro}} project is a shell with some tests and mostly
> duplicate and dead code. The classes that use Avro are distributed quite
> wildly through the code base, and introduce multiple direct dependencies on
> Avro in a messy way.
> That way, we cannot create a proper fat Avro dependency in which we shade
> Jackson away.
> Also, we expose Avro as a direct and hard dependency on many Flink modules,
> while it should be a dependency that users that use Avro types selectively
> add.
> *Suggested Changes*
> We should move all Avro related classes to {{flink-avro}}, and give
> {{flink-avro}} a dependency on {{flink-core}} and {{flink-streaming-java}}.
> - {{AvroTypeInfo}}
> - {{AvroSerializer}}
> - {{AvroRowSerializationSchema}}
> - {{AvroRowDeserializationSchema}}
> To be able to move the the avro serialization code from {{flink-ore}} to
> {{flink-avro}}, we need to load the {{AvroTypeInformation}} reflectively,
> similar to how we load the {{WritableTypeInfo}} for Hadoop.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)