You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2016/02/11 15:13:12 UTC
svn commit: r1729841 - in /qpid/java/trunk:
broker-core/src/main/java/org/apache/qpid/server/logging/messages/
broker-core/src/main/java/org/apache/qpid/server/transport/
broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v...
Author: rgodfrey
Date: Thu Feb 11 14:13:11 2016
New Revision: 1729841
URL: http://svn.apache.org/viewvc?rev=1729841&view=rev
Log:
QPID-7058 : Log the connection state in the case where connection establishment times out
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/logging/messages/ConnectionMessages.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Connection_logmessages.properties
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/AbstractAMQPConnection.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/MultiVersionProtocolEngine.java
qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/AMQPConnection_0_10.java
qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQPConnection_0_8.java
qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0.java
qpid/java/trunk/client/src/main/java/org/apache/qpid/client/state/AMQState.java
qpid/java/trunk/client/src/main/java/org/apache/qpid/client/state/StateWaiter.java
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/logging/messages/ConnectionMessages.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/logging/messages/ConnectionMessages.java?rev=1729841&r1=1729840&r2=1729841&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/logging/messages/ConnectionMessages.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/logging/messages/ConnectionMessages.java Thu Feb 11 14:13:11 2016
@@ -69,7 +69,7 @@ public class ConnectionMessages
/**
* Log a Connection message of the Format:
- * <pre>CON-1001 : Open : Port : {0}({1}) Protocol Version {2}[ : SSL][ : Client ID : {3}][ : Client Version : {4}][ : Client Product : {5}]</pre>
+ * <pre>CON-1001 : Open : Destination : {0}({1}) : Protocol Version : {2}[ : SSL][ : Client ID : {3}][ : Client Version : {4}][ : Client Product : {5}]</pre>
* Optional values are contained in [square brackets] and are numbered
* sequentially in the method call.
*
@@ -349,16 +349,44 @@ public class ConnectionMessages
/**
* Log a Connection message of the Format:
- * <pre>CON-1003 : Closed due to inactivity</pre>
+ * <pre>CON-1003 : Closed due to inactivity [: {0}]</pre>
* Optional values are contained in [square brackets] and are numbered
* sequentially in the method call.
*
*/
- public static LogMessage IDLE_CLOSE()
+ public static LogMessage IDLE_CLOSE(String param1, boolean opt1)
{
String rawMessage = _messages.getString("IDLE_CLOSE");
+ StringBuffer msg = new StringBuffer();
- final String message = rawMessage;
+ // Split the formatted message up on the option values so we can
+ // rebuild the message based on the configured options.
+ String[] parts = rawMessage.split("\\[");
+ msg.append(parts[0]);
+
+ int end;
+ if (parts.length > 1)
+ {
+
+ // Add Option : : {0}.
+ end = parts[1].indexOf(']');
+ if (opt1)
+ {
+ msg.append(parts[1].substring(0, end));
+ }
+
+ // Use 'end + 1' to remove the ']' from the output
+ msg.append(parts[1].substring(end + 1));
+ }
+
+ rawMessage = msg.toString();
+
+ final Object[] messageArguments = {param1};
+ // Create a new MessageFormat to ensure thread safety.
+ // Sharing a MessageFormat and using applyPattern is not thread safe
+ MessageFormat formatter = new MessageFormat(rawMessage, _currentLocale);
+
+ final String message = formatter.format(messageArguments);
return new LogMessage()
{
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Connection_logmessages.properties
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Connection_logmessages.properties?rev=1729841&r1=1729840&r2=1729841&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Connection_logmessages.properties (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Connection_logmessages.properties Thu Feb 11 14:13:11 2016
@@ -20,7 +20,7 @@
OPEN = CON-1001 : Open : Destination : {0}({1}) : Protocol Version : {2}[ : SSL][ : Client ID : {3}][ : Client Version : {4}][ : Client Product : {5}]
CLOSE = CON-1002 : Close
-IDLE_CLOSE = CON-1003 : Closed due to inactivity
+IDLE_CLOSE = CON-1003 : Closed due to inactivity [: {0}]
DROPPED_CONNECTION = CON-1004 : Connection dropped
CLIENT_VERSION_LOG = CON-1005 : Client version "{0}" logged by validation
CLIENT_VERSION_REJECT = CON-1006 : Client version "{0}" rejected by validation
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/AbstractAMQPConnection.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/AbstractAMQPConnection.java?rev=1729841&r1=1729840&r2=1729841&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/AbstractAMQPConnection.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/AbstractAMQPConnection.java Thu Feb 11 14:13:11 2016
@@ -708,7 +708,7 @@ public abstract class AbstractAMQPConnec
{
_logger.warn("Connection has taken more than {} ms to establish identity. Closing as possible DoS.",
_allowedTime);
- getEventLogger().message(ConnectionMessages.IDLE_CLOSE());
+ getEventLogger().message(ConnectionMessages.IDLE_CLOSE("Protocol authentication not established within timeout period", true));
_network.close();
}
else
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/MultiVersionProtocolEngine.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/MultiVersionProtocolEngine.java?rev=1729841&r1=1729840&r2=1729841&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/MultiVersionProtocolEngine.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/MultiVersionProtocolEngine.java Thu Feb 11 14:13:11 2016
@@ -592,7 +592,7 @@ public class MultiVersionProtocolEngine
@Override
public void readerIdle()
{
- _broker.getEventLogger().message(ConnectionMessages.IDLE_CLOSE());
+ _broker.getEventLogger().message(ConnectionMessages.IDLE_CLOSE("Protocol header not sent within timeout period", true));
_network.close();
}
Modified: qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/AMQPConnection_0_10.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/AMQPConnection_0_10.java?rev=1729841&r1=1729840&r2=1729841&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/AMQPConnection_0_10.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/AMQPConnection_0_10.java Thu Feb 11 14:13:11 2016
@@ -201,7 +201,7 @@ public class AMQPConnection_0_10 extends
@Override
public Object run()
{
- _connection.getEventLogger().message(ConnectionMessages.IDLE_CLOSE());
+ _connection.getEventLogger().message(ConnectionMessages.IDLE_CLOSE("", false));
_network.close();
return null;
}
Modified: qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQPConnection_0_8.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQPConnection_0_8.java?rev=1729841&r1=1729840&r2=1729841&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQPConnection_0_8.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQPConnection_0_8.java Thu Feb 11 14:13:11 2016
@@ -833,7 +833,7 @@ public class AMQPConnection_0_8
@Override
public Object run()
{
- getEventLogger().message(ConnectionMessages.IDLE_CLOSE());
+ getEventLogger().message(ConnectionMessages.IDLE_CLOSE("Current connection state: " + _state, true));
_network.close();
return null;
}
Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0.java?rev=1729841&r1=1729840&r2=1729841&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0.java Thu Feb 11 14:13:11 2016
@@ -281,7 +281,7 @@ public class AMQPConnection_1_0 extends
@Override
public Object run()
{
- getEventLogger().message(ConnectionMessages.IDLE_CLOSE());
+ getEventLogger().message(ConnectionMessages.IDLE_CLOSE("", false));
getNetwork().close();
return null;
}
Modified: qpid/java/trunk/client/src/main/java/org/apache/qpid/client/state/AMQState.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/client/src/main/java/org/apache/qpid/client/state/AMQState.java?rev=1729841&r1=1729840&r2=1729841&view=diff
==============================================================================
--- qpid/java/trunk/client/src/main/java/org/apache/qpid/client/state/AMQState.java (original)
+++ qpid/java/trunk/client/src/main/java/org/apache/qpid/client/state/AMQState.java Thu Feb 11 14:13:11 2016
@@ -26,35 +26,10 @@ package org.apache.qpid.client.state;
*/
public enum AMQState
{
-
- CONNECTION_NOT_STARTED(1, "CONNECTION_NOT_STARTED"),
-
- CONNECTION_NOT_TUNED(2, "CONNECTION_NOT_TUNED"),
-
- CONNECTION_NOT_OPENED(3, "CONNECTION_NOT_OPENED"),
-
- CONNECTION_OPEN(4, "CONNECTION_OPEN"),
-
- CONNECTION_CLOSING(5, "CONNECTION_CLOSING"),
-
- CONNECTION_CLOSED(6, "CONNECTION_CLOSED");
-
-
- private final int _id;
-
- private final String _name;
-
- private AMQState(int id, String name)
- {
- _id = id;
- _name = name;
- }
-
- public String toString()
- {
- return "AMQState: id = " + _id + " name: " + _name;
- }
-
-
-
+ CONNECTION_NOT_STARTED,
+ CONNECTION_NOT_TUNED,
+ CONNECTION_NOT_OPENED,
+ CONNECTION_OPEN,
+ CONNECTION_CLOSING,
+ CONNECTION_CLOSED;
}
Modified: qpid/java/trunk/client/src/main/java/org/apache/qpid/client/state/StateWaiter.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/client/src/main/java/org/apache/qpid/client/state/StateWaiter.java?rev=1729841&r1=1729840&r2=1729841&view=diff
==============================================================================
--- qpid/java/trunk/client/src/main/java/org/apache/qpid/client/state/StateWaiter.java (original)
+++ qpid/java/trunk/client/src/main/java/org/apache/qpid/client/state/StateWaiter.java Thu Feb 11 14:13:11 2016
@@ -23,6 +23,7 @@ package org.apache.qpid.client.state;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.apache.qpid.AMQTimeoutException;
import org.apache.qpid.QpidException;
import org.apache.qpid.client.failover.FailoverException;
import org.apache.qpid.client.util.BlockingWaiter;
@@ -113,9 +114,13 @@ public class StateWaiter extends Blockin
{
return (AMQState) block(timeout);
}
+ catch (AMQTimeoutException e)
+ {
+ throw new AMQTimeoutException("Waiting for " + timeout + "ms to attain one of the states " + _awaitStates + "; current state is " + _stateManager.getCurrentState(), e);
+ }
catch (FailoverException e)
{
- _logger.error("Failover occured whilst waiting for states:" + _awaitStates);
+ _logger.error("Failover occurred whilst waiting for states:" + _awaitStates);
return null;
}
@@ -125,7 +130,7 @@ public class StateWaiter extends Blockin
//Prevent any more errors being notified to this waiter.
close();
- //Remove the waiter from the notifcation list in the statee manager
+ //Remove the waiter from the notification list in the state manager
_stateManager.removeWaiter(this);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org