You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Pavel Tupitsyn (JIRA)" <ji...@apache.org> on 2016/08/09 12:32:27 UTC

[jira] [Updated] (IGNITE-3263) Affinity function must check for null keys

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

Pavel Tupitsyn updated IGNITE-3263:
-----------------------------------
    Fix Version/s:     (was: 1.7)
                   1.8

> Affinity function must check for null keys
> ------------------------------------------
>
>                 Key: IGNITE-3263
>                 URL: https://issues.apache.org/jira/browse/IGNITE-3263
>             Project: Ignite
>          Issue Type: Bug
>    Affects Versions: 1.6
>            Reporter: Denis Magda
>            Assignee: Saikat Maitra
>              Labels: community
>             Fix For: 1.8
>
>
> AffinityFunction implementations must check for {{null}} keys and through meaningful exceptions in such a cases.
> As an example the following code trows NPE since the keys is not validated
> {code}
> Cache<AffinityKey&lt;String>, Person> personCache = ..;
> personCache.get(new AffinityKey<>(key, affKey)); // returns value
> personCache.get(new AffinityKey<>(key)); // throws NPE
> Exception in thread "main" java.lang.NullPointerException
>         at
> org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction.partition(RendezvousAffinityFunction.java:428)
>         at
> org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.partition(GridCacheAffinityManager.java:206)
>         at
> org.apache.ignite.internal.processors.cache.GridCacheContext.toCacheKeyObject(GridCacheContext.java:1801)
>         at
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.get(GridDhtAtomicCache.java:339)
>         at
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.get(GridCacheAdapter.java:4650)
>         at
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.get(GridCacheAdapter.java:1391)
>         at
> org.apache.ignite.internal.processors.cache.IgniteCacheProxy.get(IgniteCacheProxy.java:907)
>         at
> my.apache.ignite.examples.collocation.CacheCollocationExample.main(CacheCollocationExample.java:69)
> {code}



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