Vladislav Pyatkov created IGNITE-12689: ------------------------------------------
Summary: Partitions should become owned after a checkpoint, regardless of a topology change. Nevertheless a rebalance is not required. Key: IGNITE-12689 URL: https://issues.apache.org/jira/browse/IGNITE-12689 Project: Ignite Issue Type: Bug Reporter: Vladislav Pyatkov After checkpoint completed we try to own all partitions of rebalanced cache (see WalStateManager#onGroupRebalanceFinished): {code} cpFut.futureFor(FINISHED).listen(new IgniteInClosureX<IgniteInternalFuture>() { @Override public void applyx(IgniteInternalFuture future) { if (X.hasCause(future.error(), NodeStoppingException.class)) return; for (Integer grpId0 : groupsToEnable) { try { cctx.database().walEnabled(grpId0, true, true); } catch (Exception e) { if (!X.hasCause(e, NodeStoppingException.class)) throw e; } CacheGroupContext grp = cctx.cache().cacheGroup(grpId0); if (grp != null) grp.topology().ownMoving(lastGroupTop); else if (log.isDebugEnabled()) log.debug("Cache group was destroyed before checkpoint finished, [grpId=" + grpId0 + ']'); } if (log.isDebugEnabled()) log.debug("Refresh partitions due to rebalance finished"); // Trigger exchange for switching to ideal assignment when all nodes are ready. cctx.exchange().refreshPartitions(); } }); {code} But in case of topology changes during checkpoint pass, we are need to invoke rebalance manually (see GridDhtPartitionTopologyImpl#ownMoving): {code} if (lastAffChangeVer.compareTo(rebFinishedTopVer) > 0) { if (log.isInfoEnabled()) { log.info("Affinity topology changed, no MOVING partitions will be owned " + "[rebFinishedTopVer=" + rebFinishedTopVer + ", lastAffChangeVer=" + lastAffChangeVer + "]"); } {code} That will be hardly ever happends, but if it was we restarted whole rebalance (over all partitions).I am advice start rebalance only when it needed and mark partitions as own if it definitely not need (when change of topology does not fluent to assignment). -- This message was sent by Atlassian Jira (v8.3.4#803005)