[
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)