Repository: ignite Updated Branches: refs/heads/ignite-1758 072238430 -> 3c4e192bc
ignite-1758 debug Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/3c4e192b Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/3c4e192b Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/3c4e192b Branch: refs/heads/ignite-1758 Commit: 3c4e192bce8b978b46c6dcfa04d4b01802ce62e4 Parents: 0722384 Author: sboikov <sboi...@gridgain.com> Authored: Wed Nov 4 16:31:26 2015 +0300 Committer: sboikov <sboi...@gridgain.com> Committed: Wed Nov 4 16:31:26 2015 +0300 ---------------------------------------------------------------------- .../ignite/spi/discovery/tcp/ServerImpl.java | 101 +++++++++++-------- .../spi/discovery/tcp/TcpDiscoveryImpl.java | 6 +- 2 files changed, 61 insertions(+), 46 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/3c4e192b/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 0fe2881..6f22d5b 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 @@ -278,8 +278,6 @@ class ServerImpl extends TcpDiscoveryImpl { throw new IgniteSpiException("Info log level should be enabled for TCP discovery to work " + "in debug mode."); - debugLog = new ConcurrentLinkedDeque<>(); - U.quietAndWarn(log, "TCP discovery SPI is configured in debug mode."); } @@ -2127,65 +2125,82 @@ class ServerImpl extends TcpDiscoveryImpl { * @param msg Message to process. */ @Override protected void processMessage(TcpDiscoveryAbstractMessage msg) { - if (log.isDebugEnabled()) - log.debug("Processing message [cls=" + msg.getClass().getSimpleName() + ", id=" + msg.id() + ']'); + try { + if (log.isDebugEnabled()) + log.debug("Processing message [cls=" + msg.getClass().getSimpleName() + ", id=" + msg.id() + ']'); - if (debugMode) - debugLog("Processing message [cls=" + msg.getClass().getSimpleName() + ", id=" + msg.id() + ']'); + if (debugMode) + debugLog("Processing message [cls=" + msg.getClass().getSimpleName() + ", id=" + msg.id() + ']'); - spi.stats.onMessageProcessingStarted(msg); + spi.stats.onMessageProcessingStarted(msg); - if (msg instanceof TcpDiscoveryJoinRequestMessage) - processJoinRequestMessage((TcpDiscoveryJoinRequestMessage)msg); + if (msg instanceof TcpDiscoveryJoinRequestMessage) + processJoinRequestMessage((TcpDiscoveryJoinRequestMessage)msg); - else if (msg instanceof TcpDiscoveryClientReconnectMessage) - processClientReconnectMessage((TcpDiscoveryClientReconnectMessage)msg); + else if (msg instanceof TcpDiscoveryClientReconnectMessage) + processClientReconnectMessage((TcpDiscoveryClientReconnectMessage)msg); - else if (msg instanceof TcpDiscoveryNodeAddedMessage) - processNodeAddedMessage((TcpDiscoveryNodeAddedMessage)msg); + else if (msg instanceof TcpDiscoveryNodeAddedMessage) + processNodeAddedMessage((TcpDiscoveryNodeAddedMessage)msg); - else if (msg instanceof TcpDiscoveryNodeAddFinishedMessage) - processNodeAddFinishedMessage((TcpDiscoveryNodeAddFinishedMessage)msg); + else if (msg instanceof TcpDiscoveryNodeAddFinishedMessage) + processNodeAddFinishedMessage((TcpDiscoveryNodeAddFinishedMessage)msg); - else if (msg instanceof TcpDiscoveryNodeLeftMessage) - processNodeLeftMessage((TcpDiscoveryNodeLeftMessage)msg); + else if (msg instanceof TcpDiscoveryNodeLeftMessage) + processNodeLeftMessage((TcpDiscoveryNodeLeftMessage)msg); - else if (msg instanceof TcpDiscoveryNodeFailedMessage) - processNodeFailedMessage((TcpDiscoveryNodeFailedMessage)msg); + else if (msg instanceof TcpDiscoveryNodeFailedMessage) + processNodeFailedMessage((TcpDiscoveryNodeFailedMessage)msg); - else if (msg instanceof TcpDiscoveryClientHeartbeatMessage) - processClientHeartbeatMessage((TcpDiscoveryClientHeartbeatMessage)msg); + else if (msg instanceof TcpDiscoveryClientHeartbeatMessage) + processClientHeartbeatMessage((TcpDiscoveryClientHeartbeatMessage)msg); - else if (msg instanceof TcpDiscoveryHeartbeatMessage) - processHeartbeatMessage((TcpDiscoveryHeartbeatMessage)msg); + else if (msg instanceof TcpDiscoveryHeartbeatMessage) + processHeartbeatMessage((TcpDiscoveryHeartbeatMessage)msg); - else if (msg instanceof TcpDiscoveryStatusCheckMessage) - processStatusCheckMessage((TcpDiscoveryStatusCheckMessage)msg); + else if (msg instanceof TcpDiscoveryStatusCheckMessage) + processStatusCheckMessage((TcpDiscoveryStatusCheckMessage)msg); - else if (msg instanceof TcpDiscoveryDiscardMessage) - processDiscardMessage((TcpDiscoveryDiscardMessage)msg); + else if (msg instanceof TcpDiscoveryDiscardMessage) + processDiscardMessage((TcpDiscoveryDiscardMessage)msg); - else if (msg instanceof TcpDiscoveryCustomEventMessage) - processCustomMessage((TcpDiscoveryCustomEventMessage)msg); + else if (msg instanceof TcpDiscoveryCustomEventMessage) + processCustomMessage((TcpDiscoveryCustomEventMessage)msg); - else if (msg instanceof TcpDiscoveryClientPingRequest) - processClientPingRequest((TcpDiscoveryClientPingRequest)msg); + else if (msg instanceof TcpDiscoveryClientPingRequest) + processClientPingRequest((TcpDiscoveryClientPingRequest)msg); - else - assert false : "Unknown message type: " + msg.getClass().getSimpleName(); + else + assert false : "Unknown message type: " + msg.getClass().getSimpleName(); - if (spi.ensured(msg) && redirectToClients(msg)) - msgHist.add(msg); + if (spi.ensured(msg) && redirectToClients(msg)) + msgHist.add(msg); - if (msg.senderNodeId() != null && !msg.senderNodeId().equals(getLocalNodeId())) { - // Received a message from remote node. - onMessageExchanged(); + if (msg.senderNodeId() != null && !msg.senderNodeId().equals(getLocalNodeId())) { + // Received a message from remote node. + onMessageExchanged(); - // Reset the failure flag. - failureThresholdReached = false; + // Reset the failure flag. + failureThresholdReached = false; + } + + spi.stats.onMessageProcessingFinished(msg); } + catch (AssertionError e) { + e.printStackTrace(); + + synchronized (System.out) { + System.out.println("Error: " + e + " " + Thread.currentThread().getName()); + + for (String debug : debugLog) { + System.out.println(debug); + } + + System.exit(33); + } - spi.stats.onMessageProcessingFinished(msg); + System.exit(111); + } } /** {@inheritDoc} */ @@ -2679,11 +2694,11 @@ class ServerImpl extends TcpDiscoveryImpl { if (log.isDebugEnabled()) log.debug("Pending message has been sent to local node [msg=" + msg.id() + - ", pendingMsgId=" + pendingMsg + ", next=" + next.id() + ']'); + ", pendingMsgId=" + pendingMsg + ", next=" + (next != null ? next.id() : null) + ']'); if (debugMode) debugLog("Pending message has been sent to local node [msg=" + msg.id() + - ", pendingMsgId=" + pendingMsg + ", next=" + next.id() + ']'); + ", pendingMsgId=" + pendingMsg + ", next=" + (next != null ? next.id() : null) + ']'); } } http://git-wip-us.apache.org/repos/asf/ignite/blob/3c4e192b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java index 2786d0b..958a40e 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java @@ -62,14 +62,14 @@ abstract class TcpDiscoveryImpl { protected TcpDiscoveryNode locNode; /** Debug mode. */ - protected boolean debugMode; + protected boolean debugMode = true; /** Debug messages history. */ - private int debugMsgHist = 512; + private int debugMsgHist = 10 * 1024; /** Received messages. */ @SuppressWarnings("FieldAccessedSynchronizedAndUnsynchronized") - protected ConcurrentLinkedDeque<String> debugLog; + protected static final ConcurrentLinkedDeque<String> debugLog = new ConcurrentLinkedDeque<>(); /** * @param spi Adapter.