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);
     }
 

Reply via email to