Damien Raude-Morvan created GORA-331: ----------------------------------------
Summary: Gora 0.4 compiler crash with "enum" type Key: GORA-331 URL: https://issues.apache.org/jira/browse/GORA-331 Project: Apache Gora Issue Type: Bug Components: gora-compiler Affects Versions: 0.4, 0.5 Reporter: Damien Raude-Morvan As part of my work on GORA-199 I've updated some Dictanova projects to 0.4 release (more precisly to 0.5-SNAPSHOT) for testing. Unfortunelly, I've detected that Gora Compiler crash if there is an "enum" type field inside a record. {noformat} { "name": "RecordWithEnum", "namespace": "com.drazzib.com", "type": "record", "fields": [ { "name": "type", "type": { "name": "MyEnum", "type": "enum", "symbols": [ "PERIOD", "INSTANT" ] } } ] } {noformat} If you try to compile this schema with Gora 0.4, you'll get the following error : {noformat} /bin/gora goracompiler record_with_enum.avsc test/ Compiling: record_with_enum.avsc 74 [main] ERROR AvroVelocityLogChute - ResourceManager : unable to find resource '/org/apache/gora/compiler/templates/enum.vm' in any resource loader. Exception in thread "main" java.lang.RuntimeException: org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource '/org/apache/gora/compiler/templates/enum.vm' at org.apache.avro.compiler.specific.SpecificCompiler.renderTemplate(SpecificCompiler.java:329) at org.apache.avro.compiler.specific.SpecificCompiler.compile(SpecificCompiler.java:371) at org.apache.avro.compiler.specific.SpecificCompiler.compileToDestination(SpecificCompiler.java:316) at org.apache.gora.compiler.GoraCompiler.compileSchema(GoraCompiler.java:65) at org.apache.gora.compiler.cli.GoraCompilerCLI.main(GoraCompilerCLI.java:56) Caused by: org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource '/org/apache/gora/compiler/templates/enum.vm' at org.apache.velocity.runtime.resource.ResourceManagerImpl.loadResource(ResourceManagerImpl.java:474) at org.apache.velocity.runtime.resource.ResourceManagerImpl.getResource(ResourceManagerImpl.java:352) at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1533) at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1514) at org.apache.velocity.app.VelocityEngine.getTemplate(VelocityEngine.java:373) at org.apache.avro.compiler.specific.SpecificCompiler.renderTemplate(SpecificCompiler.java:327) ... 4 more {noformat} I've managed to workaround this problem by simply dropping avro enum.vm inside gora source. You can easily clone this gist [https://gist.github.com/drazzib/35e504e6e689f96dae8f] so that you can reproduce this issue. -- This message was sent by Atlassian JIRA (v6.2#6252)