ignite-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kamal C <kamaltar...@gmail.com>
Subject Re: How to retrieve data from Collocated Cache with Simple Key
Date Tue, 07 Jun 2016 04:40:45 GMT
Thanks for your response Vladislav.

Both ScanQuery and Iterator traverses the whole cache to find the value.
It may not be suitable in my environment as there can be huge number of
hits.

I understand that for fast retrieval `key-to-partition` mapping is done.
But, In AffinityKey documentation, it's specified that hashcode and equals
methods are implemented based on simple key.

* <p>
>  * Note that the {@link #equals(Object)} and {@link #hashCode()} methods
>  * delegate directly to the wrapped cache key provided by {@link #key()}
>  * method.
>  * <p>
>

On Mon, Jun 6, 2016 at 10:44 PM, Vladislav Pyatkov <vpyatkov@gridgain.com>
wrote:

> I am sorry for mistake Kamal...
> On Jun 6, 2016 3:34 PM, "Kamal" <kamaltarget@gmail.com> wrote:
>
>> Hi,
>>
>>     I've gone through the affinity collocation[1] example to understand
>> how
>> data gets collocated across caches. In my example, I found that I'm not
>> able
>> to retrieve data from collocated cache with simple key.
>>
>> I mean.
>>
>> 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)
>>
>> In some scenarios, I have to fetch data from cache by simple key.
>>
>> [1]: https://apacheignite.readme.io/docs/affinity-collocation
>> CacheCollocationExample.java
>> <
>> http://apache-ignite-users.70518.x6.nabble.com/file/n5452/CacheCollocationExample.java
>> >
>> Company.java
>> <http://apache-ignite-users.70518.x6.nabble.com/file/n5452/Company.java>
>> Person.java
>> <http://apache-ignite-users.70518.x6.nabble.com/file/n5452/Person.java>
>>
>>
>>
>>
>> --
>> View this message in context:
>> http://apache-ignite-users.70518.x6.nabble.com/How-to-retrieve-data-from-Collocated-Cache-with-Simple-Key-tp5452.html
>> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>>
>

Mime
View raw message