You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2015/07/03 11:37:01 UTC
[50/50] incubator-ignite git commit: ignite-882: fixed duplicate node
ID issue
ignite-882: fixed duplicate node ID issue
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/dc8da054
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/dc8da054
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/dc8da054
Branch: refs/heads/ignite-882
Commit: dc8da054cbe26e14d1964c58d5205de75d29eea6
Parents: f2871a7
Author: Denis Magda <dm...@gridgain.com>
Authored: Fri Jul 3 12:35:48 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Fri Jul 3 12:35:48 2015 +0300
----------------------------------------------------------------------
.../configuration/IgniteConfiguration.java | 5 ---
.../org/apache/ignite/internal/IgnitionEx.java | 2 -
.../ignite/spi/discovery/tcp/ClientImpl.java | 2 +-
.../ignite/spi/discovery/tcp/ServerImpl.java | 44 +++++++++++++-------
.../TcpDiscoveryNodeAddFinishedMessage.java | 2 -
.../messages/TcpDiscoveryNodeFailedMessage.java | 2 -
.../junits/logger/GridTestLog4jLogger.java | 6 ++-
7 files changed, 34 insertions(+), 29 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dc8da054/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
index 9318268..2d36c7a 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
@@ -491,9 +491,6 @@ public class IgniteConfiguration {
utilityCachePoolSize = cfg.getUtilityCacheThreadPoolSize();
waitForSegOnStart = cfg.isWaitForSegmentOnStart();
warmupClos = cfg.getWarmupClosure();
-
- if (nodeId != null)
- U.dumpStack(log, "New node UUID:" + nodeId);
}
/**
@@ -945,8 +942,6 @@ public class IgniteConfiguration {
* @return {@code this} for chaining.
*/
public IgniteConfiguration setNodeId(UUID nodeId) {
- U.dumpStack(log, "Node ID: " + nodeId);
-
this.nodeId = nodeId;
return this;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dc8da054/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
index cdcab91..5cbe377 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
@@ -1625,8 +1625,6 @@ public class IgnitionEx {
UUID nodeId = cfg.getNodeId() != null ? cfg.getNodeId() : UUID.randomUUID();
- U.debug("New UUID: " + nodeId + ", from cfg = " + (cfg.getNodeId() != null));
-
myCfg.setNodeId(nodeId);
IgniteLogger cfgLog = initLogger(cfg.getGridLogger(), nodeId);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dc8da054/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
index 5bd63ac..3f05f59 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
@@ -1288,7 +1288,7 @@ class ClientImpl extends TcpDiscoveryImpl {
if (topChanged) {
if (log.isDebugEnabled())
- log.debug("TCP Added new node to topology: " + node);
+ log.debug("Added new node to topology: " + node);
Map<Integer, byte[]> data = msg.newNodeDiscoveryData();
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dc8da054/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
index 3b3c328..f8fae34 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
@@ -710,18 +710,12 @@ class ServerImpl extends TcpDiscoveryImpl {
"[locNodeAddrs=" + U.addressesAsString(locNode) + ", rmtNodeAddrs=" +
U.addressesAsString(msg.addresses(), msg.hostNames()) + ']');
}
- else {
- U.debug("STATE: " + spiState);
-
+ else
LT.warn(log, null, "Node has not been connected to topology and will repeat join process. " +
"Check remote nodes logs for possible error messages. " +
"Note that large topology may require significant time to start. " +
"Increase 'TcpDiscoverySpi.networkTimeout' configuration property " +
"if getting this message on the starting nodes [networkTimeout=" + spi.netTimeout + ']');
-
-
- U.dumpStack("HALF-OPENED SOCKET PROBLEM");
- }
}
}
@@ -2082,6 +2076,9 @@ class ServerImpl extends TcpDiscoveryImpl {
boolean nextNew = (msg instanceof TcpDiscoveryNodeAddedMessage &&
((TcpDiscoveryNodeAddedMessage)msg).node().id().equals(nextId));
+ if (!nextNew)
+ nextNew = hasPendingAddMessage(nextId);
+
if (!nextNew) {
if (log.isDebugEnabled())
log.debug("Failed to restore ring because next node order received " +
@@ -2370,6 +2367,29 @@ class ServerImpl extends TcpDiscoveryImpl {
}
/**
+ * Checks whether pending messages queue contains unprocessed {@link TcpDiscoveryNodeAddedMessage} for
+ * the node with {@code nodeId}.
+ *
+ * @param nodeId Node ID.
+ * @return {@code true} if contains, {@code false} otherwise.
+ */
+ private boolean hasPendingAddMessage(UUID nodeId) {
+ if (pendingMsgs.msgs.isEmpty())
+ return false;
+
+ for (TcpDiscoveryAbstractMessage pendingMsg : pendingMsgs.msgs) {
+ if (pendingMsg instanceof TcpDiscoveryNodeAddedMessage) {
+ TcpDiscoveryNodeAddedMessage addMsg = (TcpDiscoveryNodeAddedMessage)pendingMsg;
+
+ if (addMsg.node().id().equals(nodeId) && addMsg.id().compareTo(pendingMsgs.discardId) > 0)
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ /**
* Processes join request message.
*
* @param msg Join request message.
@@ -4245,8 +4265,8 @@ class ServerImpl extends TcpDiscoveryImpl {
msg.senderNodeId(nodeId);
-// if (log.isDebugEnabled())
- U.debug("Message has been received: " + msg + " NODE " + nodeId);
+ if (log.isDebugEnabled())
+ log.debug("Message has been received: " + msg);
spi.stats.onMessageReceived(msg);
@@ -4522,7 +4542,6 @@ class ServerImpl extends TcpDiscoveryImpl {
if (state == CONNECTED) {
spi.writeToSocket(msg, sock, RES_OK);
- U.debug("Responded (1) to join request message [msg=" + msg + ", res=" + RES_OK + ']');
if (log.isDebugEnabled())
log.debug("Responded to join request message [msg=" + msg + ", res=" + RES_OK + ']');
@@ -4557,8 +4576,6 @@ class ServerImpl extends TcpDiscoveryImpl {
spi.writeToSocket(msg, sock, res);
- U.debug("Responded (2) to join request message [msg=" + msg + ", res=" + res + ']');
-
if (log.isDebugEnabled())
log.debug("Responded to join request message [msg=" + msg + ", res=" + res + ']');
@@ -4829,9 +4846,6 @@ class ServerImpl extends TcpDiscoveryImpl {
* @param msg Message to add.
*/
void addMessage(TcpDiscoveryAbstractMessage msg) {
- if (msg instanceof TcpDiscoveryNodeAddFinishedMessage)
- U.dumpStack("Putting add finished to queue: " + msg);
-
if (msg.highPriority())
queue.addFirst(msg);
else
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dc8da054/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeAddFinishedMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeAddFinishedMessage.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeAddFinishedMessage.java
index d93268c..1d974e1 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeAddFinishedMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeAddFinishedMessage.java
@@ -55,8 +55,6 @@ public class TcpDiscoveryNodeAddFinishedMessage extends TcpDiscoveryAbstractMess
public TcpDiscoveryNodeAddFinishedMessage(UUID creatorNodeId, UUID nodeId) {
super(creatorNodeId);
- U.dumpStack("NODE ADD FINISHED MESS: " + creatorNodeId + ", node = " + nodeId);
-
this.nodeId = nodeId;
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dc8da054/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeFailedMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeFailedMessage.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeFailedMessage.java
index 7c3a5b7..93ecdaa 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeFailedMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeFailedMessage.java
@@ -51,8 +51,6 @@ public class TcpDiscoveryNodeFailedMessage extends TcpDiscoveryAbstractMessage {
public TcpDiscoveryNodeFailedMessage(UUID creatorNodeId, UUID failedNodeId, long order) {
super(creatorNodeId);
- U.dumpStack("Node Failed Event: [creator=" + creatorNodeId + ", failedNode=" + failedNodeId + ", order=" + order + "]");
-
assert failedNodeId != null;
assert order > 0;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dc8da054/modules/core/src/test/java/org/apache/ignite/testframework/junits/logger/GridTestLog4jLogger.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/logger/GridTestLog4jLogger.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/logger/GridTestLog4jLogger.java
index 76c5a4e..8f45062 100644
--- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/logger/GridTestLog4jLogger.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/logger/GridTestLog4jLogger.java
@@ -120,7 +120,7 @@ public class GridTestLog4jLogger implements IgniteLogger, LoggerNodeIdAware {
if (init) {
// Implementation has already been inited, passing NULL.
- addConsoleAppenderIfNeeded(Level.DEBUG, null);
+ addConsoleAppenderIfNeeded(Level.INFO, null);
quiet = quiet0;
}
@@ -450,6 +450,8 @@ public class GridTestLog4jLogger implements IgniteLogger, LoggerNodeIdAware {
/** {@inheritDoc} */
@Override public void debug(String msg) {
+ if (!impl.isDebugEnabled())
+ warning("Logging at DEBUG level without checking if DEBUG level is enabled: " + msg);
impl.debug(msg);
}
@@ -489,7 +491,7 @@ public class GridTestLog4jLogger implements IgniteLogger, LoggerNodeIdAware {
/** {@inheritDoc} */
@Override public boolean isDebugEnabled() {
- return true;
+ return impl.isDebugEnabled();
}
/** {@inheritDoc} */