[ 
https://issues.apache.org/jira/browse/HIVE-11288?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14631774#comment-14631774
 ] 

Greg Phillips commented on HIVE-11288:
--------------------------------------

The test is wrong.  It is relying on the java Object.equals() which requires 
the exact same object to return true.
This is similar to the original problem with the InstanceCache.  It is relying 
on the hashCode to determine equality which breaks the hashCode contract.  I 
will provide the patch for the unit test shortly.

> Avro SerDe InstanceCache returns incorrect schema
> -------------------------------------------------
>
>                 Key: HIVE-11288
>                 URL: https://issues.apache.org/jira/browse/HIVE-11288
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Greg Phillips
>         Attachments: HIVE-11288.patch
>
>
> To reproduce this error, take two fields in an avro schema document matching 
> the following:
> "type" :  { "type": "array", "items": [ "null",  { "type": "map", "values": [ 
> "null", "string" ] } ]  }
> "type" : { "type": "map", "values": [ "null" , { "type": "array", "items": [ 
> "null" , "string"] } ] }
> After creating two tables in hive with these schemas, the describe statement 
> on each of them will only return the schema for the first one loaded.  This 
> is due to a hashCode() collision in the InstanceCache.  
> A patch will be included in this ticket shortly which removes the hashCode 
> call from the InstanceCache's internal HashMap, and instead provides the 
> entire schema object.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to