[ 
https://issues.apache.org/jira/browse/FLINK-8186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16276685#comment-16276685
 ] 

Aljoscha Krettek commented on FLINK-8186:
-----------------------------------------

Just a quick update, I'm looking into this.

Setting the classloader to "parent-first" does solve the problem, as expected.

> AvroInputFormat regression: fails to deserialize GenericRecords on standalone 
> cluster with hadoop27 compat
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: FLINK-8186
>                 URL: https://issues.apache.org/jira/browse/FLINK-8186
>             Project: Flink
>          Issue Type: Bug
>    Affects Versions: 1.4.0
>            Reporter: Sebastian Klemke
>            Priority: Blocker
>             Fix For: 1.4.0
>
>         Attachments: GenericRecordCount.java, pom.xml
>
>
> The following job runs fine on a Flink 1.3.2 cluster, but fails on a Flink 
> 1.4.0 RC2 standalone cluster, "hadoop27" flavour:
> {code}
> public class GenericRecordCount {
>     public static void main(String[] args) throws Exception {
>         String input = ParameterTool.fromArgs(args).getRequired("input");
>         ExecutionEnvironment env = 
> ExecutionEnvironment.getExecutionEnvironment();
>         long count = env.readFile(new AvroInputFormat<>(new Path(input), 
> GenericRecord.class), input)
>                 .count();
>         System.out.printf("Counted %d records\n", count);
>     }
> }
> {code}
> Runs fine in LocalExecutionEnvironment and also on no-hadoop flavour 
> standalone cluster, though. Exception thrown in Flink 1.4.0 hadoop27:
> {code}
> 12/01/2017 13:22:09     DataSource (at 
> readFile(ExecutionEnvironment.java:514) 
> (org.apache.flink.formats.avro.AvroInputFormat))(4/4) switched to FAILED
> java.lang.RuntimeException: java.lang.NoSuchMethodException: 
> org.apache.avro.generic.GenericRecord.<init>()
>         at 
> org.apache.avro.specific.SpecificData.newInstance(SpecificData.java:353)
>         at 
> org.apache.avro.specific.SpecificData.newRecord(SpecificData.java:369)
>         at org.apache.avro.reflect.ReflectData.newRecord(ReflectData.java:901)
>         at 
> org.apache.avro.generic.GenericDatumReader.readRecord(GenericDatumReader.java:212)
>         at 
> org.apache.avro.generic.GenericDatumReader.readWithoutConversion(GenericDatumReader.java:175)
>         at 
> org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:153)
>         at 
> org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:145)
>         at org.apache.avro.file.DataFileStream.next(DataFileStream.java:233)
>         at 
> org.apache.flink.formats.avro.AvroInputFormat.nextRecord(AvroInputFormat.java:165)
>         at 
> org.apache.flink.runtime.operators.DataSourceTask.invoke(DataSourceTask.java:167)
>         at org.apache.flink.runtime.taskmanager.Task.run(Task.java:718)
>         at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.NoSuchMethodException: 
> org.apache.avro.generic.GenericRecord.<init>()
>         at java.lang.Class.getConstructor0(Class.java:3082)
>         at java.lang.Class.getDeclaredConstructor(Class.java:2178)
>         at 
> org.apache.avro.specific.SpecificData.newInstance(SpecificData.java:347)
>         ... 11 more
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to