IGNITE-5752 Fixed updateSequence updating in GridDhtPartitionMap. - Fixes #2297.
Signed-off-by: Alexey Goncharuk <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/199b9543 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/199b9543 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/199b9543 Branch: refs/heads/ignite-5757 Commit: 199b954345f179851718acd131188506668cd4f3 Parents: 02a1bdc Author: Pavel Kovalenko <[email protected]> Authored: Fri Jul 21 16:29:15 2017 +0300 Committer: Alexey Goncharuk <[email protected]> Committed: Fri Jul 21 16:29:15 2017 +0300 ---------------------------------------------------------------------- .../cache/distributed/dht/preloader/GridDhtPartitionMap.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/199b9543/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionMap.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionMap.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionMap.java index cfd4400..735ca1e 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionMap.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionMap.java @@ -24,7 +24,6 @@ import java.io.ObjectOutput; import java.util.Map; import java.util.Set; import java.util.UUID; - import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion; import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionState; @@ -202,9 +201,13 @@ public class GridDhtPartitionMap implements Comparable<GridDhtPartitionMap>, Ext * @return Old update sequence value. */ public long updateSequence(long updateSeq, AffinityTopologyVersion topVer) { + assert topVer.compareTo(top) >= 0 : "Invalid topology version [cur=" + top + ", new=" + topVer + "]"; + long old = this.updateSeq; - assert updateSeq >= old : "Invalid update sequence [cur=" + old + ", new=" + updateSeq + ']'; + // Overwrite update sequence without checking in case of greater topology version + if (topVer.compareTo(top) == 0) + assert updateSeq >= old : "Invalid update sequence [cur=" + old + ", new=" + updateSeq + ']'; this.updateSeq = updateSeq;
