You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Manoj Kumar Jha (Jira)" <ji...@apache.org> on 2020/04/24 15:45:00 UTC

[jira] [Created] (AVRO-2817) Avro file generated using avro-1.8.2 is not readable from avro-1.9.2 for certian type of schemas

Manoj Kumar Jha created AVRO-2817:
-------------------------------------

             Summary: Avro file generated  using avro-1.8.2  is  not readable from  avro-1.9.2  for certian type  of schemas
                 Key: AVRO-2817
                 URL: https://issues.apache.org/jira/browse/AVRO-2817
             Project: Apache Avro
          Issue Type: Bug
          Components: java
    Affects Versions: 1.9.2
            Reporter: Manoj Kumar Jha
             Fix For: 1.8.2
         Attachments: records.avro

Hello,

We observed   avro file generated using avro-1.8.2  is not readable while using avro-1.9.2   if schema contains a field "default:null".   Please see below.

 

--------------------------------------------------------------------------

[mxj142:Jars]$ ls -ltr
total 168520
-rwx------@ 1 mxj142 staff 34798932 Jan 16 14:45 avro-tools-1.8.2.jar
-rwxr-xr-x@ 1 mxj142 staff 51303364 Mar 6 17:43 avro-tools-1.9.2.jar
-rw-r--r-- 1 mxj142 staff 715 Apr 24 11:19 records.avro
[mxj142:Jars]$ java -jar avro-tools-1.8.2.jar tojson records.avro
log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
{"enrichmentHeader":\{"correlationId":"1","sourceId":"09b5d770-7373-462d-9517-8e5ce957793f"},"cx":\{"dateFirst":"20200419","dateLast":"20200419"}}
{"enrichmentHeader":\{"correlationId":"2","sourceId":"0285dc49-cc5c-4717-8ea2-45e50de2f65f"},"cx":\{"dateFirst":"20200420","dateLast":"20200420"}}
[mxj142:Jars]$
[mxj142:Jars]$
[mxj142:Jars]$
[mxj142:Jars]$
[mxj142:Jars]$
[mxj142:Jars]$ java -jar avro-tools-1.9.2.jar tojson records.avro
20/04/24 11:20:51 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Exception in thread "main" org.apache.avro.AvroTypeException: Invalid default for field enrichmentHeader: null not a \{"type":"record","name":"EnrichmentHeader","namespace":"com.mxj142.commons.domain","fields":[{"name":"correlationId","type":{"type":"string","avro.java.string":"String"}},\{"name":"sourceId","type":{"type":"string","avro.java.string":"String"}}]}
 at org.apache.avro.Schema.validateDefault(Schema.java:1540)
 at org.apache.avro.Schema.access$500(Schema.java:87)
 at org.apache.avro.Schema$Field.<init>(Schema.java:521)
 at org.apache.avro.Schema.parse(Schema.java:1647)
 at org.apache.avro.Schema$Parser.parse(Schema.java:1394)
 at org.apache.avro.Schema$Parser.parse(Schema.java:1382)
 at org.apache.avro.file.DataFileStream.initialize(DataFileStream.java:130)
 at org.apache.avro.file.DataFileStream.<init>(DataFileStream.java:90)
 at org.apache.avro.tool.DataFileReadTool.run(DataFileReadTool.java:93)
 at org.apache.avro.tool.Main.run(Main.java:66)
 at org.apache.avro.tool.Main.main(Main.java:55)
[mxj142:Jars]$

--------------------------------------------------------------------------

 

The file "records.avro"  is generated using avro-1.8.2 .  It contains two  records  and using "avro-tools-1.8.2.jar"  one can read it.  If   we use   "avro-tools-1.9.2.jar", then "records.avro"  is not readable  (as shown above).  The file "records.avro"  is also  attached for your convenience. 

 

Let me know if you need any more information.

 

Thanks,

Manoj

 

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)