[ https://issues.apache.org/jira/browse/IGNITE-3263?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15420083#comment-15420083 ]
Saikat Maitra commented on IGNITE-3263: --------------------------------------- [~dmagda] Hi Denis, I have updated the PR with review comments. I have added 2 model test class Person and Organization and used them in test to demonstrate that unit tests are passing with the Null check. Another observation is the tests are passing and NPE is reproducible for Ignite instance but the NPE is not reproducible in IgniteTestGrid. Please review and share your feedback. Regards Saikat > 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<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)