Sachin Goyal created HIVE-7653:
----------------------------------

             Summary: Hive AvroSerDe does not support circular references in 
Schema
                 Key: HIVE-7653
                 URL: https://issues.apache.org/jira/browse/HIVE-7653
             Project: Hive
          Issue Type: Bug
            Reporter: Sachin Goyal


Avro allows nullable circular references but Hive AvroSerDe does not.

Example of circular references (passing in Avro but failing in AvroSerDe):
{code}
class AvroCycleParent {
  AvroCycleChild child;
  public AvroCycleChild getChild () {return child;}
  public void setChild (AvroCycleChild child) {this.child = child;}
}

class AvroCycleChild {
  AvroCycleParent parent;
  public AvroCycleParent getParent () {return parent;}
  public void setParent (AvroCycleParent parent) {this.parent = parent;}
}
{code}

Due to this discrepancy, Hive is unable to read Avro records having 
circular-references. For some third-party code with such references, it becomes 
very hard to directly serialize it with Avro and use in Hive.

I have a patch for this with a unit-test and I will submit it shortly.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to