Repository: ignite Updated Branches: refs/heads/master 83b5c0e0a -> 8dd9c5d61
IGNITE-8226 Improved logging - Fixes #3796. 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/8dd9c5d6 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/8dd9c5d6 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/8dd9c5d6 Branch: refs/heads/master Commit: 8dd9c5d61c86c831b490134c3cd21f2ed47758d2 Parents: 83b5c0e Author: Pavel Kovalenko <[email protected]> Authored: Thu May 3 17:01:20 2018 +0300 Committer: Alexey Goncharuk <[email protected]> Committed: Thu May 3 17:01:20 2018 +0300 ---------------------------------------------------------------------- .../dht/GridClientPartitionTopology.java | 6 ++---- .../dht/GridDhtPartitionTopologyImpl.java | 20 ++++++++++++++------ .../dht/preloader/GridDhtPartitionMap.java | 5 +++++ 3 files changed, 21 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/8dd9c5d6/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java index cf8fc34..477d316 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java @@ -853,16 +853,14 @@ public class GridClientPartitionTopology implements GridDhtPartitionTopology { /** * Method checks is new partition map more stale than current partition map - * New partition map is stale if topology version or update sequence are less than of current map + * New partition map is stale if topology version or update sequence are less or equal than of current map * * @param currentMap Current partition map * @param newMap New partition map * @return True if new partition map is more stale than current partition map, false in other case */ private boolean isStaleUpdate(GridDhtPartitionMap currentMap, GridDhtPartitionMap newMap) { - return currentMap != null && - (newMap.topologyVersion().compareTo(currentMap.topologyVersion()) < 0 || - newMap.topologyVersion().compareTo(currentMap.topologyVersion()) == 0 && newMap.updateSequence() <= currentMap.updateSequence()); + return currentMap != null && newMap.compareTo(currentMap) <= 0; } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/8dd9c5d6/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java index 2c47315..f075959 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java @@ -1658,16 +1658,14 @@ public class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology { /** * Method checks is new partition map more stale than current partition map - * New partition map is stale if topology version or update sequence are less than of current map + * New partition map is stale if topology version or update sequence are less or equal than of current map * * @param currentMap Current partition map * @param newMap New partition map * @return True if new partition map is more stale than current partition map, false in other case */ private boolean isStaleUpdate(GridDhtPartitionMap currentMap, GridDhtPartitionMap newMap) { - return currentMap != null && - (newMap.topologyVersion().compareTo(currentMap.topologyVersion()) < 0 || - newMap.topologyVersion().compareTo(currentMap.topologyVersion()) == 0 && newMap.updateSequence() <= currentMap.updateSequence()); + return currentMap != null && newMap.compareTo(currentMap) <= 0; } /** {@inheritDoc} */ @@ -1723,11 +1721,21 @@ public class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology { parts.updateSequence(cur.updateSequence(), cur.topologyVersion()); } else if (isStaleUpdate(cur, parts)) { - U.warn(log, "Stale update for single partition map update (will ignore) [" + + assert cur != null; + + String msg = "Stale update for single partition map update (will ignore) [" + "grp=" + grp.cacheOrGroupName() + ", exchId=" + exchId + ", curMap=" + cur + - ", newMap=" + parts + ']'); + ", newMap=" + parts + ']'; + + // This is usual situation when partition maps are equal, just print debug message. + if (cur.compareTo(parts) == 0) { + if (log.isDebugEnabled()) + log.debug(msg); + } + else + U.warn(log, msg); return false; } http://git-wip-us.apache.org/repos/asf/ignite/blob/8dd9c5d6/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 cb69714..28c8c84 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 @@ -243,6 +243,11 @@ public class GridDhtPartitionMap implements Comparable<GridDhtPartitionMap>, Ext @Override public int compareTo(GridDhtPartitionMap o) { assert nodeId.equals(o.nodeId); + int topVerCompare = top.compareTo(o.top); + + if (topVerCompare != 0) + return topVerCompare; + return Long.compare(updateSeq, o.updateSeq); }
