[ 
https://issues.apache.org/jira/browse/IGNITE-4765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15892175#comment-15892175
 ] 

Andrey Gura commented on IGNITE-4765:
-------------------------------------

I think that in current implementation it is not a bug. It is ok that caches 
that was started on different topology versions will have different assignments 
because they have different input for assignment calculation. But this can lead 
to broken data co-location (from user point of view). 

Perharps it can be fixed in the following way: All co-located caches should use 
the same instance of affinity function. In this case we can calculate 
assignments only once for all caches (at this moment assignment will be 
calculated for each cache separately). Newly created cache should use already 
calculated assignment for major topology version.


> Different partition mapping for caches that use Fair Affinity Function
> ----------------------------------------------------------------------
>
>                 Key: IGNITE-4765
>                 URL: https://issues.apache.org/jira/browse/IGNITE-4765
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Alper Tekinalp
>
> Caches created on different topology versions with fair affinity funtion may 
> have different partition mapping. The cause of this problem is fair affinity 
> function calculates partition mappings based on previous assignments. When 
> rebalancing partitions previous assignments for a cache is known and new 
> assignment calculated based on that. But when you create a new cache there is 
> no previous assignments and the calculation is different. 
> Reproduction steps:
> - Start node1
> - Start cache1
> - Start node2
> - Partitions for cache1 will be rebalanced
> - Start cache2
> - Check partition mapping for both cache1 and cache2



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to