You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@avro.apache.org by Sripad Sriram <sr...@path.com> on 2013/05/13 23:58:52 UTC
ArrayIndexOutOfBoundsException in Symbol.getSymbol in map reduce job
Hi all,
A java hadoop job that's previously executed without issue began erroring
with the following stack trace - have any of you seen this before?
java.lang.ArrayIndexOutOfBoundsException: 14
at
org.apache.avro.io.parsing.Symbol$Alternative.getSymbol(Symbol.java:364)
at
org.apache.avro.io.ResolvingDecoder.doAction(ResolvingDecoder.java:229)
at org.apache.avro.io.parsing.Parser.advance(Parser.java:88)
at
org.apache.avro.io.ResolvingDecoder.readIndex(ResolvingDecoder.java:206)
at
org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:142)
at
org.apache.avro.generic.GenericDatumReader.readRecord(GenericDatumReader.java:166)
at
org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:138)
at
org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:129)
at
org.apache.avro.mapred.AvroSerialization$AvroWrapperDeserializer.deserialize(AvroSerialization.java:83)
at
org.apache.avro.mapred.AvroSerialization$AvroWrapperDeserializer.deserialize(AvroSerialization.java:65)
at
org.apache.hadoop.mapred.Task$ValuesIterator.readNextKey(Task.java:1262)
at
org.apache.hadoop.mapred.Task$ValuesIterator.nextKey(Task.java:1233)
at
org.apache.hadoop.mapred.ReduceTask.runOldReducer(ReduceTask.java:533)
at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:429)
at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1132)
at org.apache.hadoop.mapred.Child.main(Child.java:249)
Re: ArrayIndexOutOfBoundsException in Symbol.getSymbol in map reduce job
Posted by Sripad Sriram <sr...@path.com>.
I'm using Avro 1.7.4, and the error is coming between a map step and reduce
step. I'm unsure how an Avro record could get corrupted between a mapper
and reducer, but it has, how would I be able to handle that exception?
On Mon, May 13, 2013 at 3:40 PM, Harsh J <ha...@cloudera.com> wrote:
> Its difficult to tell what the error means without context and other
> info (such as version). If I had to guess, I think there may be a
> corruption on the file being processed here. Does running the file
> through avro-tools' tojson sub-command end up in a successful read?
>
> On Tue, May 14, 2013 at 3:28 AM, Sripad Sriram <sr...@path.com> wrote:
> > Hi all,
> >
> > A java hadoop job that's previously executed without issue began erroring
> > with the following stack trace - have any of you seen this before?
> >
> > java.lang.ArrayIndexOutOfBoundsException: 14
> > at
> > org.apache.avro.io.parsing.Symbol$Alternative.getSymbol(Symbol.java:364)
> > at
> > org.apache.avro.io.ResolvingDecoder.doAction(ResolvingDecoder.java:229)
> > at org.apache.avro.io.parsing.Parser.advance(Parser.java:88)
> > at
> > org.apache.avro.io.ResolvingDecoder.readIndex(ResolvingDecoder.java:206)
> > at
> >
> org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:142)
> > at
> >
> org.apache.avro.generic.GenericDatumReader.readRecord(GenericDatumReader.java:166)
> > at
> >
> org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:138)
> > at
> >
> org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:129)
> > at
> >
> org.apache.avro.mapred.AvroSerialization$AvroWrapperDeserializer.deserialize(AvroSerialization.java:83)
> > at
> >
> org.apache.avro.mapred.AvroSerialization$AvroWrapperDeserializer.deserialize(AvroSerialization.java:65)
> > at
> > org.apache.hadoop.mapred.Task$ValuesIterator.readNextKey(Task.java:1262)
> > at
> > org.apache.hadoop.mapred.Task$ValuesIterator.nextKey(Task.java:1233)
> > at
> > org.apache.hadoop.mapred.ReduceTask.runOldReducer(ReduceTask.java:533)
> > at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:429)
> > at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
> > at java.security.AccessController.doPrivileged(Native Method)
> > at javax.security.auth.Subject.doAs(Subject.java:396)
> > at
> >
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1132)
> > at org.apache.hadoop.mapred.Child.main(Child.java:249)
>
>
>
> --
> Harsh J
>
Re: ArrayIndexOutOfBoundsException in Symbol.getSymbol in map reduce job
Posted by Harsh J <ha...@cloudera.com>.
Its difficult to tell what the error means without context and other
info (such as version). If I had to guess, I think there may be a
corruption on the file being processed here. Does running the file
through avro-tools' tojson sub-command end up in a successful read?
On Tue, May 14, 2013 at 3:28 AM, Sripad Sriram <sr...@path.com> wrote:
> Hi all,
>
> A java hadoop job that's previously executed without issue began erroring
> with the following stack trace - have any of you seen this before?
>
> java.lang.ArrayIndexOutOfBoundsException: 14
> at
> org.apache.avro.io.parsing.Symbol$Alternative.getSymbol(Symbol.java:364)
> at
> org.apache.avro.io.ResolvingDecoder.doAction(ResolvingDecoder.java:229)
> at org.apache.avro.io.parsing.Parser.advance(Parser.java:88)
> at
> org.apache.avro.io.ResolvingDecoder.readIndex(ResolvingDecoder.java:206)
> at
> org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:142)
> at
> org.apache.avro.generic.GenericDatumReader.readRecord(GenericDatumReader.java:166)
> at
> org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:138)
> at
> org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:129)
> at
> org.apache.avro.mapred.AvroSerialization$AvroWrapperDeserializer.deserialize(AvroSerialization.java:83)
> at
> org.apache.avro.mapred.AvroSerialization$AvroWrapperDeserializer.deserialize(AvroSerialization.java:65)
> at
> org.apache.hadoop.mapred.Task$ValuesIterator.readNextKey(Task.java:1262)
> at
> org.apache.hadoop.mapred.Task$ValuesIterator.nextKey(Task.java:1233)
> at
> org.apache.hadoop.mapred.ReduceTask.runOldReducer(ReduceTask.java:533)
> at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:429)
> at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:396)
> at
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1132)
> at org.apache.hadoop.mapred.Child.main(Child.java:249)
--
Harsh J