avro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Doug Cutting (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AVRO-387) hashCode throws a NullPointerException when unions are uninitialized
Date Tue, 02 Feb 2010 18:00:21 GMT

    [ https://issues.apache.org/jira/browse/AVRO-387?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12828691#action_12828691
] 

Doug Cutting commented on AVRO-387:
-----------------------------------

Scott> But I have a suspicion that we'll have a need to add to the SpecificRecord interface
at some point.

I do too, so my instinct is to leave it as a marker for now.

Scott> Maybe SpecificRecordBase should just be renamed SpecificRecord and changed to implement
IndexedRecord?

Currently SpecificData uses the SpecificRecord interface, which folks could implement differently,
not with SpecificRecordBase.  I'm not convinced we should discard that yet.


> hashCode throws a NullPointerException when unions are uninitialized
> --------------------------------------------------------------------
>
>                 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
>            Priority: Minor
>         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.


Mime
View raw message