You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Doug Cutting (JIRA)" <ji...@apache.org> on 2010/02/02 22:54:18 UTC
[jira] Updated: (AVRO-387) Add IndexedRecord interface to share
more logic between specific and generic.
[ https://issues.apache.org/jira/browse/AVRO-387?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Doug Cutting updated AVRO-387:
------------------------------
Fix Version/s: 1.3.0
Assignee: Doug Cutting
Summary: Add IndexedRecord interface to share more logic between specific and generic. (was: hashCode throws a NullPointerException when unions are uninitialized)
I just committed this.
> Add IndexedRecord interface to share more logic between specific and generic.
> -----------------------------------------------------------------------------
>
> Key: AVRO-387
> URL: https://issues.apache.org/jira/browse/AVRO-387
> Project: Avro
> Issue Type: Bug
> Components: java
> Affects Versions: 1.2.0
> Reporter: Michael Armbrust
> Assignee: Doug Cutting
> Priority: Minor
> Fix For: 1.3.0
>
> Attachments: AVRO-387.patch, AVRO-387.patch, AVRO-387.patch.txt
>
>
> This is a very similar issue to AVRO-382, except this time it happens for uninitialized unions instead of primitive fields. Once again, this makes it very difficult to use avro from the scala console.
> Stacktrace:
> {noformat}
> org.apache.avro.AvroRuntimeException: Not in union [{"type":"record","name":"GetRequest","namespace":"edu.berkeley.cs.scads.comm","fields":[{"name":"namespace","type":"string"},{"name":"key","type":"bytes"}]}]: null
> at org.apache.avro.generic.GenericData.resolveUnion(GenericData.java:339)
> at org.apache.avro.generic.GenericData.hashCode(GenericData.java:429)
> at org.apache.avro.specific.SpecificData.hashCode(SpecificData.java:227)
> at org.apache.avro.generic.GenericData.hashCodeAdd(GenericData.java:439)
> at org.apache.avro.specific.SpecificData.hashCode(SpecificData.java:223)
> at org.apache.avro.specific.SpecificRecordBase.hashCode(SpecificRecordBase.java:52)
> at java.lang.Object.toString(Object.java:219)
> at scala.runtime.ScalaRunTime$.stringOf(ScalaRunTime.scala:165)
> at RequestResult$.<init>(<console>:4)
> at RequestResult$.<clinit>(<console>)
> at RequestResult$result(<console>)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at scala.tools.nsc.Interpreter$Request.loadAndRun(Interpreter.scala:889)
> at scala.tools.nsc.Interpreter.interpret(Interpreter.scala:508)
> at scala.tools.nsc.InterpreterLoop.interpretStartingWith(InterpreterLoop.scala:242)
> at scala.tools.nsc.InterpreterLoop.command(InterpreterLoop.scala:230)
> at scala.tools.nsc.InterpreterLoop.repl(InterpreterLoop.scala:142)
> at scala.tools.nsc.InterpreterLoop.main(InterpreterLoop.scala:298)
> at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:141)
> at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.