[ 
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.

Reply via email to