linkedin/camus — pull request #124 by HenryCaiHaiying (2014-11-03 19:29:21+00:00)
Title: Looks like the avro-1.7 SchemaParser was also called during this path, a...

...nd it cannot under the '@' chars in the field names (allowed in avro 1.4).

Use the RelaxedSchemaParser to get around this problem.

The stack trace when the error happened:

2014-11-01 09:14:52,842 WARN [Thread-5] org.apache.hadoop.mapred.YarnChild: Exception running child : org.apache.avro.SchemaParseException: Illegal initial character: @fields
at org.apache.avro.Schema.validateName(Schema.java:1079)
at org.apache.avro.Schema.access$200(Schema.java:79)
at org.apache.avro.Schema$Field.(Schema.java:372)
at org.apache.avro.Schema.parse(Schema.java:1215)
at org.apache.avro.Schema$Parser.parse(Schema.java:965)
at org.apache.avro.Schema$Parser.parse(Schema.java:953)
at org.apache.avro.Schema.parse(Schema.java:1005)
at org.apache.avro.hadoop.io.AvroSerialization.getKeyWriterSchema(AvroSerialization.java:197)
at org.apache.avro.mapreduce.AvroJob.getMapOutputKeySchema(AvroJob.java:174)
at com.linkedin.camus.sweeper.mapreduce.AvroKeyMapper.setup(AvroKeyMapper.java:38)