Repository: ignite Updated Branches: refs/heads/ignite-2.5 0061e7c79 -> 81ba6c842
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/81ba6c84 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/81ba6c84 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/81ba6c84 Branch: refs/heads/ignite-2.5 Commit: 81ba6c842b8d3a672dd8647b5e1cebc38ce2d77d Parents: 0061e7c Author: Pavel Kovalenko <[email protected]> Authored: Thu May 3 17:01:20 2018 +0300 Committer: Alexey Goncharuk <[email protected]> Committed: Thu May 3 17:02:46 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/81ba6c84/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/81ba6c84/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 fba40b7..0a08fe1 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 @@ -1632,16 +1632,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} */ @@ -1697,11 +1695,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/81ba6c84/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); }
