You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Karen Smoler Miller (JIRA)" <ji...@apache.org> on 2018/10/10 17:57:00 UTC

[jira] [Resolved] (GEODE-5666) Can't use java enums inside a cache key

     [ https://issues.apache.org/jira/browse/GEODE-5666?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Karen Smoler Miller resolved GEODE-5666.
----------------------------------------
    Resolution: Information Provided

> Can't use java enums inside a cache key
> ---------------------------------------
>
>                 Key: GEODE-5666
>                 URL: https://issues.apache.org/jira/browse/GEODE-5666
>             Project: Geode
>          Issue Type: Bug
>          Components: client/server, docs, general, serialization
>            Reporter: Naoufal
>            Assignee: Karen Smoler Miller
>            Priority: Major
>
> *+Use case:+*
> * Partitioned region with one shard
> * I put data which key contains an enum.
> * Sometimes the data is not returned when we ask for that key. Although it's not caught in the client, this exception is raised :
> {code:java}
> PartitionedRegionException( "Object hashCode inconsistent between cache peers. Here ...)
> {code}
> I Believe it's related to the limitation of using raw java enum in the hashcode generation. When a server checks hashcode consistency with its peers, it will fail for those keys, since the enum hashcode is equal to Object.Identity a.k.a: its address in the JVM. For this reason the hascode will differ between two peers.
> You maybe aware of this limitation.
> * If so it should be properly mentioned in the documentation, possibly with example and workaround (like using the enum's ordinal()). I could not find it any such thing.
> * Otherwise, is it something that could be handled better? For example by sending the whole keys instead of hashes?
> Regards,
> Naoufal 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)