[ https://issues.apache.org/jira/browse/FLINK-7420?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16233758#comment-16233758 ]
ASF GitHub Bot commented on FLINK-7420: --------------------------------------- GitHub user aljoscha opened a pull request: https://github.com/apache/flink/pull/4931 [FLINK-7420] Move all Avro code to flink-avro This hides interaction with Avro begin the interface `AvroUtils` that has two implementations: 1) default Avro utils, which are used when no Avro is present and which throws exceptions in case Avro is required. 2) proper Avro utils which are dynamically loaded when the `flink-avro` module is "in the classpath" which does proper Avro things. R: @StephanEwen You can merge this pull request into a Git repository by running: $ git pull https://github.com/aljoscha/flink FLINK-7420 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/flink/pull/4931.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #4931 ---- commit b74f84ee3d5795e30c92a2e7393fc25309c450e3 Author: twalthr <twal...@apache.org> Date: 2017-08-16T10:17:00Z [FLINK-7420] [core] Move all Avro code to flink-avro commit 3215a4b939f536b4a1130cad9e5106867c071789 Author: Aljoscha Krettek <aljoscha.kret...@gmail.com> Date: 2017-10-25T15:38:24Z [FLINK-7420] Replace GenericData.Array by dummy when reading TypeSerializers This also adds a new test that verifies that we correctly register Avro Serializers when they are present and modifies an existing test to verify that we correctly register dummy classes. commit 94f19afcb65b7ef0d200bb3c4d0d82b8422ba905 Author: Aljoscha Krettek <aljoscha.kret...@gmail.com> Date: 2017-10-26T12:56:09Z [FLINK-7420] Add Avro test-jar depdendency in Kafka modules commit 1d73f296667d909ce0506ceeb722112fed978af3 Author: Aljoscha Krettek <aljoscha.kret...@gmail.com> Date: 2017-10-30T09:19:56Z [FLINK-7420] Fix TwitterExample.scala It seems this has a transitive dependency on Jackson, which slightly changed with the Avro reworking. commit a7289e06641b3303611bf5a1a8a2bf4ef56ac994 Author: Aljoscha Krettek <aljoscha.kret...@gmail.com> Date: 2017-10-30T14:02:18Z [FLINK-7420] Abstract all Avro interaction behind AvroUtils Before, we would try and dynamicall load Avro-related classes in several places. Now, we only reflectively instantiate the right AvroUtils and all other operations are methods on this. The default AvroUtils throw exceptions with a helpful message for most operations. ---- > 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: Aljoscha Krettek > 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)