You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ag...@apache.org on 2017/08/14 11:48:54 UTC
[07/11] ignite git commit: IGNITE-6016 Get rid of checking topology
hash in ackTopology - Fixes #2424.
IGNITE-6016 Get rid of checking topology hash in ackTopology - Fixes #2424.
Signed-off-by: Alexey Goncharuk <al...@gmail.com>
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/199339eb
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/199339eb
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/199339eb
Branch: refs/heads/ignite-5872-5578
Commit: 199339ebcf93452df4363f6fe4f70cb02cf10bfd
Parents: ad9e210
Author: Ivan Rakov <iv...@gmail.com>
Authored: Mon Aug 14 12:01:08 2017 +0300
Committer: Alexey Goncharuk <al...@gmail.com>
Committed: Mon Aug 14 12:01:08 2017 +0300
----------------------------------------------------------------------
.../discovery/GridDiscoveryManager.java | 39 ++------------------
.../ignite/internal/GridDiscoverySelfTest.java | 30 ---------------
2 files changed, 4 insertions(+), 65 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/199339eb/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
index ebfe339..834ba4d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
@@ -83,6 +83,7 @@ import org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor;
import org.apache.ignite.internal.processors.jobmetrics.GridJobMetrics;
import org.apache.ignite.internal.processors.security.SecurityContext;
import org.apache.ignite.internal.processors.timeout.GridTimeoutProcessor;
+import org.apache.ignite.internal.util.GridAtomicLong;
import org.apache.ignite.internal.util.GridBoundedConcurrentLinkedHashMap;
import org.apache.ignite.internal.util.GridSpinBusyLock;
import org.apache.ignite.internal.util.future.GridFinishedFuture;
@@ -205,7 +206,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
private IgniteThread segChkThread;
/** Last logged topology. */
- private final AtomicLong lastLoggedTop = new AtomicLong();
+ private final GridAtomicLong lastLoggedTop = new GridAtomicLong();
/** Local node. */
private ClusterNode locNode;
@@ -1449,11 +1450,9 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
Collection<ClusterNode> allNodes = discoCache.allNodes();
- long hash = topologyHash(allNodes);
-
// Prevent ack-ing topology for the same topology.
// Can happen only during node startup.
- if (throttle && lastLoggedTop.getAndSet(hash) == hash)
+ if (throttle && !lastLoggedTop.setIfGreater(topVer))
return;
int totalCpus = cpus(allNodes);
@@ -1474,8 +1473,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
(ctx.igniteInstanceName() == null ? "default" : ctx.igniteInstanceName()) + U.nl() +
">>> Number of server nodes: " + srvNodes.size() + U.nl() +
">>> Number of client nodes: " + clientNodes.size() + U.nl() +
- (discoOrdered ? ">>> Topology version: " + topVer + U.nl() : "") +
- ">>> Topology hash: 0x" + Long.toHexString(hash).toUpperCase() + U.nl();
+ (discoOrdered ? ">>> Topology version: " + topVer + U.nl() : "");
dbg += ">>> Local: " +
locNode.id().toString().toUpperCase() + ", " +
@@ -1686,35 +1684,6 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
}
/**
- * Gets topology hash for given set of nodes.
- *
- * @param nodes Subset of grid nodes for hashing.
- * @return Hash for given topology.
- */
- public long topologyHash(Iterable<? extends ClusterNode> nodes) {
- assert nodes != null;
-
- Iterator<? extends ClusterNode> iter = nodes.iterator();
-
- if (!iter.hasNext())
- return 0; // Special case.
-
- List<String> uids = new ArrayList<>();
-
- for (ClusterNode node : nodes)
- uids.add(node.id().toString());
-
- Collections.sort(uids);
-
- CRC32 hash = new CRC32();
-
- for (String uuid : uids)
- hash.update(uuid.getBytes());
-
- return hash.getValue();
- }
-
- /**
* Gets future that will be completed when current topology version becomes greater or equal to argument passed.
*
* @param awaitVer Topology version to await.
http://git-wip-us.apache.org/repos/asf/ignite/blob/199339eb/modules/core/src/test/java/org/apache/ignite/internal/GridDiscoverySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/GridDiscoverySelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/GridDiscoverySelfTest.java
index 5822ce7..e6b678b 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/GridDiscoverySelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/GridDiscoverySelfTest.java
@@ -123,36 +123,6 @@ public class GridDiscoverySelfTest extends GridCommonAbstractTest {
/**
* @throws Exception If failed.
*/
- public void testGetTopologyHash() throws Exception {
- int hashCnt = 5000;
-
- Random rand = new Random();
-
- Collection<Long> hashes = new HashSet<>(hashCnt, 1.0f);
-
- for (int i = 0; i < hashCnt; i++) {
- // Max topology of 10 nodes.
- int size = rand.nextInt(10) + 1;
-
- Collection<ClusterNode> nodes = new ArrayList<>(size);
-
- for (int j = 0; j < size; j++)
- nodes.add(new GridDiscoveryTestNode());
-
- @SuppressWarnings("deprecation")
- long hash = ((IgniteKernal) ignite).context().discovery().topologyHash(nodes);
-
- boolean isHashed = hashes.add(hash);
-
- assert isHashed : "Duplicate hash [hash=" + hash + ", topSize=" + size + ", iteration=" + i + ']';
- }
-
- info("No duplicates found among '" + hashCnt + "' hashes.");
- }
-
- /**
- * @throws Exception If failed.
- */
@SuppressWarnings({"SuspiciousMethodCalls"})
public void testGetLocalNode() throws Exception {
ClusterNode node = ignite.cluster().localNode();