[
https://issues.apache.org/jira/browse/IGNITE-8684?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16532796#comment-16532796
]
Dmitriy Govorukhin commented on IGNITE-8684:
--------------------------------------------
[~agoncharuk] Agree, but I have a question. As far as I know, we should change
partition state on local node only on the real exchange, a case when exchangeId
null it is refreshPartitions, so maybe we can move for loop upder if
(exchangeVer!=null)?
{code}
if (exchangeVer != null &&nodeMap != null &&
grp.persistenceEnabled() && readyTopVer.initialized()) {
for (Map.Entry<Integer, GridDhtPartitionState> e :
nodeMap.entrySet()) {
int p = e.getKey();
GridDhtPartitionState state = e.getValue();
if (state == OWNING) {
GridDhtLocalPartition locPart = locParts.get(p);
assert locPart != null : grp.cacheOrGroupName();
if (locPart.state() == MOVING) {
boolean success = locPart.own();
assert success : locPart;
changed |= success;
}
}
else if (state == MOVING) {
boolean haveHistory = !partsToReload.contains(p);
rebalancePartition(p, haveHistory);
changed = true;
}
}
}
{code}
> Partition state exchange during rebalance continues to keep sending state
> messages (single,full) in loop even if no changes in partition states
> -----------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: IGNITE-8684
> URL: https://issues.apache.org/jira/browse/IGNITE-8684
> Project: Ignite
> Issue Type: Bug
> Reporter: Alexei Scherbakov
> Assignee: Dmitriy Govorukhin
> Priority: Major
> Fix For: 2.7
>
>
> This is due to invalid "changed" state computation in
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionTopologyImpl#update(org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion,
>
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionFullMap,
>
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.CachePartitionFullCountersMap,
> java.util.Set<java.lang.Integer>,
> org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion)
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)