Hi Tejas, This is great! But could you please provide a path we can apply and share with the community? The link you provided is for Avro SpecificCompiler mate ;) was that intended? Thanks Tejas!
Renato M. 2013/8/25 Tejas Patil <[email protected]> > Hi Lewis, > > I think the problem here was having recursive reference to same schema > (ie. for defining Employee, we need Employee schema). After a closer look > at how it is handled in Avro [0], I feel that using a queue to tackle this > recursive-ness would help. Adding the same to GoraCompiler seems to solve > the same: > mvn test > ......... > ......... > [INFO] > ------------------------------------------------------------------------ > [INFO] Reactor Summary: > [INFO] > [INFO] Apache Gora ....................................... SUCCESS [0.575s] > [INFO] Apache Gora :: Compiler ........................... SUCCESS [1.004s] > [INFO] Apache Gora :: Compiler-CLI ....................... SUCCESS [0.271s] > [INFO] Apache Gora :: Core ............................... SUCCESS > [11.520s] > [INFO] Apache Gora :: Tutorial ........................... SUCCESS [0.509s] > [INFO] Apache Gora :: Sources-Dist ....................... SUCCESS [0.052s] > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD SUCCESS > [INFO] > ------------------------------------------------------------------------ > > Attached the modified GoraCompiler.java. > > [0] > https://github.com/apache/avro/blob/trunk/lang/java/compiler/src/main/java/org/apache/avro/compiler/specific/SpecificCompiler.java > > > > On Sat, Aug 24, 2013 at 6:20 PM, Lewis John Mcgibbney < > [email protected]> wrote: > >> Hi, >> There are some issues when attempting to use the new GoraCompiler within >> the GORA_94 codebase. >> I refer specifically to the employee.json schema [0], where we have the >> following field in particular >> >> {"name": "boss", "type":["null","Employee","string"]}, >> >> It seems that the new compiler is allergic to the definitions within this >> field. Specifically that a boss can have >=1 Employee's however it seems >> that this results in the following >> >> @CEE279Law3-Linux:~/Downloads/asf/GORA_94$ ./bin/gora goracompiler >> gora-core/src/examples/avro/employee.json . >> Exception in thread "main" java.lang.StackOverflowError >> at java.util.Arrays.copyOfRange(Arrays.java:2695) >> at java.lang.String.<init>(String.java:203) >> at java.lang.StringBuilder.toString(StringBuilder.java:405) >> at org.apache.avro.Schema$Name.<init>(Schema.java:436) >> at org.apache.avro.Schema.createRecord(Schema.java:144) >> at >> >> org.apache.gora.compiler.GoraCompiler.getRecordSchemaWithDirtySupport(GoraCompiler.java:170) >> at >> >> org.apache.gora.compiler.GoraCompiler.getSchemaWithDirtySupport(GoraCompiler.java:128) >> >> If we remove the offending field... all is well. >> >> Any ideas here? >> If we can get this fixed, we can compile the schema and stabilize this >> branch. >> Thanks >> Lewis >> >> [0] >> >> http://svn.apache.org/repos/asf/gora/branches/GORA_94/gora-core/src/examples/avro/employee.json >> >> >> >> -- >> *Lewis* >> > >

