[
https://issues.apache.org/jira/browse/PARQUET-1191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16320674#comment-16320674
]
Zoltan Ivanfi commented on PARQUET-1191:
----------------------------------------
Probably not. I updated the description accordingly. In any case, we should
still decide whether originalType should or should not be taken into
consideration in the hasCode and equals methods.
> Type.hashCode() takes originalType into account but Type.equals() does not
> --------------------------------------------------------------------------
>
> Key: PARQUET-1191
> URL: https://issues.apache.org/jira/browse/PARQUET-1191
> Project: Parquet
> Issue Type: Bug
> Reporter: Gabor Szadovszky
>
> Taking originalType into account in Type.hashCode() but ignoring it in
> Type.equals() is inconsistent and violates hashCode-equals contract.
> If two Type instances that are equal according to equals() but have different
> logical types were ever put in a hash map, then both of the following cases
> are possible:
> * The two instances may accidentally have the same hash, which is consistent
> with the equals() method but is pure coincidence and has a very low
> probablility.
> * The two instances may have different hashes and end up in different buckets
> of a hash map, leading to a situation where we can't find a value in the hash
> map despite that it's equals() would return true.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)