No, you can't. In this case you should provide person id in order to
colocate your entries.

On Tue, Dec 27, 2016 at 3:20 PM, Anil <anilk...@gmail.com> wrote:
> Hi Andrey,
>
> thanks for quick response.
>
> Unfortunately, person cache key cannot be used as affinity key for person
> details in my case.
>
> Person {
>
> String personId
>
> String equivalentId;
>
> String name
>
> }
>
> PersonDetail {
>
> String detailId;
>
> Strign equivalentId;
>
> }
>
> Person cache :
>
> key = personid
> value =  Person object
>
> PersonDetail cache :
>
> key = detailId
> value = PersonDetail
>
>
> the only relation between person and its details is equivalentId
>
> can we achieve affinity with above entities ? thanks
>
> On 27 December 2016 at 17:09, Andrey Gura <ag...@apache.org> wrote:
>>
>> Anil,
>>
>> I think in your case Person's key and Persond details key should be
>> same. Otherwise you will not be able get Person details from cache. Of
>> course you can keep Person details key in Person instance but it seems
>> that this relation is transitive and should be removed.
>>
>> Other case that I can imagine is some complex key when with each
>> person could be associated many person details entries. In this case
>> you should use person key as affinity key for colocation person with
>> person details on the same affinity nodes set.
>>
>> On Tue, Dec 27, 2016 at 2:20 PM, Anil <anilk...@gmail.com> wrote:
>> > Hi,
>> >
>> > is it mandatory to use key of a cache as part of the affinity key of
>> > another
>> > cache ?
>> >
>> > i see all examples on github are using the same.
>> >
>> > In my scenario, key of a cache (person) cannot be part of affinity key
>> > of
>> > another cache (person details). how can we achieve affinity?
>> >
>> > Thanks.
>
>

Reply via email to