You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2015/07/26 21:39:21 UTC
svn commit: r1692752 - in /qpid/java/trunk:
broker-core/src/main/java/org/apache/qpid/server/logging/messages/
broker-core/src/main/java/org/apache/qpid/server/queue/
broker-core/src/main/java/org/apache/qpid/server/transport/
broker-plugins/amqp-0-10-...
Author: kwall
Date: Sun Jul 26 19:39:21 2015
New Revision: 1692752
URL: http://svn.apache.org/r1692752
Log:
QPID-6657: Add operational message to record an operator initiated connection close
* Corrected the logging levels of a number of debug type logging that was being logged at INFO
* Corrected the log subject of connection close operational messages
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/queue/AbstractQueue.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/transport/AbstractAMQPConnection.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-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.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/systests/src/test/java/org/apache/qpid/server/logging/ConnectionLoggingTest.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=1692752&r1=1692751&r2=1692752&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 Sun Jul 26 19:39:21 2015
@@ -51,6 +51,7 @@ public class ConnectionMessages
public static final String CLIENT_VERSION_LOG_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "connection.client_version_log";
public static final String IDLE_CLOSE_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "connection.idle_close";
public static final String CLOSE_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "connection.close";
+ public static final String MODEL_DELETE_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "connection.model_delete";
static
{
@@ -61,6 +62,7 @@ public class ConnectionMessages
LoggerFactory.getLogger(CLIENT_VERSION_LOG_LOG_HIERARCHY);
LoggerFactory.getLogger(IDLE_CLOSE_LOG_HIERARCHY);
LoggerFactory.getLogger(CLOSE_LOG_HIERARCHY);
+ LoggerFactory.getLogger(MODEL_DELETE_LOG_HIERARCHY);
_messages = ResourceBundle.getBundle("org.apache.qpid.server.logging.messages.Connection_logmessages", _currentLocale);
}
@@ -424,6 +426,59 @@ public class ConnectionMessages
}
@Override
+ public boolean equals(final Object o)
+ {
+ if (this == o)
+ {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass())
+ {
+ return false;
+ }
+
+ final LogMessage that = (LogMessage) o;
+
+ return getLogHierarchy().equals(that.getLogHierarchy()) && toString().equals(that.toString());
+
+ }
+
+ @Override
+ public int hashCode()
+ {
+ int result = toString().hashCode();
+ result = 31 * result + getLogHierarchy().hashCode();
+ return result;
+ }
+ };
+ }
+
+ /**
+ * Log a Connection message of the Format:
+ * <pre>CON-1007 : Connection close initiated by operator</pre>
+ * Optional values are contained in [square brackets] and are numbered
+ * sequentially in the method call.
+ *
+ */
+ public static LogMessage MODEL_DELETE()
+ {
+ String rawMessage = _messages.getString("MODEL_DELETE");
+
+ final String message = rawMessage;
+
+ return new LogMessage()
+ {
+ public String toString()
+ {
+ return message;
+ }
+
+ public String getLogHierarchy()
+ {
+ return MODEL_DELETE_LOG_HIERARCHY;
+ }
+
+ @Override
public boolean equals(final Object o)
{
if (this == o)
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=1692752&r1=1692751&r2=1692752&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 Sun Jul 26 19:39:21 2015
@@ -27,3 +27,4 @@ IDLE_CLOSE = CON-1003 : Closed due to in
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
+MODEL_DELETE = CON-1007 : Connection close initiated by operator
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java?rev=1692752&r1=1692751&r2=1692752&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java Sun Jul 26 19:39:21 2015
@@ -937,10 +937,7 @@ public abstract class AbstractQueue<X ex
&& !(consumer.isDurable() && _closing))
{
- if (_logger.isInfoEnabled())
- {
- _logger.info("Auto-deleting queue:" + this);
- }
+ _logger.debug("Auto-deleting queue: {}", this);
Subject.doAs(SecurityManager.getSubjectWithAddedSystemRights(), new PrivilegedAction<Object>()
{
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=1692752&r1=1692751&r2=1692752&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 Sun Jul 26 19:39:21 2015
@@ -42,7 +42,9 @@ import org.slf4j.LoggerFactory;
import org.apache.qpid.protocol.AMQConstant;
import org.apache.qpid.server.connection.ConnectionPrincipal;
import org.apache.qpid.server.logging.EventLogger;
+import org.apache.qpid.server.logging.LogSubject;
import org.apache.qpid.server.logging.messages.ConnectionMessages;
+import org.apache.qpid.server.logging.subjects.ConnectionLogSubject;
import org.apache.qpid.server.model.AbstractConfiguredObject;
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.ConfiguredObject;
@@ -77,6 +79,7 @@ public abstract class AbstractAMQPConnec
private final Subject _subject = new Subject();
private final List<Action<? super C>> _connectionCloseTaskList =
new CopyOnWriteArrayList<>();
+ private final LogSubject _logSubject;
private String _clientProduct;
private String _clientVersion;
@@ -131,6 +134,7 @@ public abstract class AbstractAMQPConnec
}, getTaskExecutor().getExecutor());
setState(State.ACTIVE);
+ _logSubject = new ConnectionLogSubject(this);
}
private static Map<String, Object> createAttributes(long connectionId, NetworkConnection network)
@@ -434,6 +438,7 @@ public abstract class AbstractAMQPConnec
@StateTransition( currentState = State.ACTIVE, desiredState = State.DELETED)
private ListenableFuture<Void> doDelete()
{
+ getEventLogger().message(_logSubject, ConnectionMessages.MODEL_DELETE());
return closeAsyncIfNotAlreadyClosing();
}
@@ -509,6 +514,11 @@ public abstract class AbstractAMQPConnec
_transportClosedFuture.set(null);
}
+ public LogSubject getLogSubject()
+ {
+ return _logSubject;
+ }
+
protected abstract EventLogger getEventLogger();
private class SlowConnectionOpenTicker implements Ticker
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=1692752&r1=1692751&r2=1692752&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 Sun Jul 26 19:39:21 2015
@@ -252,7 +252,15 @@ public class AMQPConnection_0_10 extends
{
try
{
- _inputHandler.closed();
+ Subject.doAs(_connection.getAuthorizedSubject(), new PrivilegedAction<Void>()
+ {
+ @Override
+ public Void run()
+ {
+ _inputHandler.closed();
+ return null;
+ }
+ });
}
finally
{
Modified: qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.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/ServerConnection.java?rev=1692752&r1=1692751&r2=1692752&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java Sun Jul 26 19:39:21 2015
@@ -67,8 +67,7 @@ import org.apache.qpid.transport.Option;
import org.apache.qpid.transport.ProtocolEvent;
import org.apache.qpid.transport.Session;
-public class ServerConnection extends Connection implements //AMQConnectionModel<ServerConnection, ServerSession>,
- LogSubject, AuthorizationHolder
+public class ServerConnection extends Connection implements AuthorizationHolder
{
private static final Logger LOGGER = LoggerFactory.getLogger(ServerConnection.class);
public static final long CLOSE_OK_TIMEOUT = 10000l;
@@ -235,11 +234,6 @@ public class ServerConnection extends Co
}
- public LogSubject getLogSubject()
- {
- return this;
- }
-
@Override
public void exception(final Throwable t)
{
@@ -478,7 +472,7 @@ public class ServerConnection extends Co
closeSubscriptions();
super.closed();
- getEventLogger().message(this, isConnectionLost() ? ConnectionMessages.DROPPED_CONNECTION() : ConnectionMessages.CLOSE());
+ getEventLogger().message(isConnectionLost() ? ConnectionMessages.DROPPED_CONNECTION() : ConnectionMessages.CLOSE());
}
private void closeSubscriptions()
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=1692752&r1=1692751&r2=1692752&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 Sun Jul 26 19:39:21 2015
@@ -66,9 +66,7 @@ import org.apache.qpid.server.configurat
import org.apache.qpid.server.connection.ConnectionPrincipal;
import org.apache.qpid.server.consumer.ConsumerImpl;
import org.apache.qpid.server.logging.EventLogger;
-import org.apache.qpid.server.logging.LogSubject;
import org.apache.qpid.server.logging.messages.ConnectionMessages;
-import org.apache.qpid.server.logging.subjects.ConnectionLogSubject;
import org.apache.qpid.server.message.InstanceProperties;
import org.apache.qpid.server.message.ServerMessage;
import org.apache.qpid.server.model.Broker;
@@ -151,8 +149,6 @@ public class AMQPConnection_0_8
private final Object _reference = new Object();
- private LogSubject _logSubject;
-
private int _maxFrameSize;
private final AtomicBoolean _orderlyClose = new AtomicBoolean(false);
@@ -181,7 +177,6 @@ public class AMQPConnection_0_8
super(broker, network, port, transport, connectionId, aggregateTicker);
_maxNoOfChannels = broker.getConnection_sessionCountLimit();
_decoder = new BrokerDecoder(this);
- _logSubject = new ConnectionLogSubject(this);
_binaryDataLimit = getBroker().getContextKeys(false).contains(BROKER_DEBUG_BINARY_DATA_LENGTH)
? getBroker().getContextValue(Integer.class, BROKER_DEBUG_BINARY_DATA_LENGTH)
: DEFAULT_DEBUG_BINARY_DATA_LENGTH;
@@ -417,7 +412,7 @@ public class AMQPConnection_0_8
}
catch (QpidException e)
{
- _logger.info("Received unsupported protocol initiation for protocol version: " + getProtocolVersion());
+ _logger.debug("Received unsupported protocol initiation for protocol version: {} ", getProtocolVersion());
writeFrame(new ProtocolInitiation(ProtocolVersion.getLatestSupportedVersion()));
_sender.flush();
@@ -648,11 +643,6 @@ public class AMQPConnection_0_8
void sendConnectionClose(AMQConstant errorCode,
String message, int channelId)
{
-
- if (_logger.isInfoEnabled())
- {
- _logger.info("Closing connection due to: " + message);
- }
sendConnectionClose(channelId, new AMQFrame(0, new ConnectionCloseBody(getProtocolVersion(), errorCode.getCode(), AMQShortString.validValueOf(message), _currentClassId, _currentMethodId)));
}
@@ -867,7 +857,18 @@ public class AMQPConnection_0_8
finally
{
markTransportClosed();
- getEventLogger().message(_logSubject, _orderlyClose.get() ? ConnectionMessages.CLOSE() : ConnectionMessages.DROPPED_CONNECTION());
+
+ runAsSubject(new PrivilegedAction<Void>()
+ {
+ @Override
+ public Void run()
+ {
+ getEventLogger().message(_orderlyClose.get()
+ ? ConnectionMessages.CLOSE()
+ : ConnectionMessages.DROPPED_CONNECTION());
+ return null;
+ }
+ });
}
}
@@ -941,11 +942,6 @@ public class AMQPConnection_0_8
AMQConnectionException e = new AMQConnectionException(cause, message, 0, 0,
getMethodRegistry(),
null);
-
- if (_logger.isInfoEnabled())
- {
- _logger.info("Closing connection due to: " + e);
- }
sendConnectionClose(0, e.getCloseFrame());
}
};
@@ -993,11 +989,6 @@ public class AMQPConnection_0_8
return new ArrayList<>(getChannels());
}
- public LogSubject getLogSubject()
- {
- return _logSubject;
- }
-
@Override
public String getRemoteContainerName()
{
@@ -1044,7 +1035,7 @@ public class AMQPConnection_0_8
}
else
{
- _logger.info("Connecting to: " + _virtualHost.getName());
+ _logger.debug("Connecting to: {}", _virtualHost.getName());
final AMQChannel channel = new AMQChannel(this, channelId, _virtualHost.getMessageStore());
@@ -1148,11 +1139,6 @@ public class AMQPConnection_0_8
_logger.debug("RECV ConnectionClose[" +" replyCode: " + replyCode + " replyText: " + replyText + " classId: " + classId + " methodId: " + methodId + " ]");
}
- if (_logger.isInfoEnabled())
- {
- _logger.info("ConnectionClose received with reply code/reply text " + replyCode + "/" +
- replyText + " for " + this);
- }
try
{
if (_orderlyClose.compareAndSet(false, true))
@@ -1211,17 +1197,14 @@ public class AMQPConnection_0_8
case ERROR:
Exception cause = authResult.getCause();
- _logger.info("Authentication failed:" + (cause == null ? "" : cause.getMessage()));
+ _logger.debug("Authentication failed: {}", (cause == null ? "" : cause.getMessage()));
sendConnectionClose(AMQConstant.NOT_ALLOWED, "Authentication failed", 0);
disposeSaslServer();
break;
case SUCCESS:
- if (_logger.isInfoEnabled())
- {
- _logger.info("Connected as: " + authResult.getSubject());
- }
+ _logger.debug("Connected as: {} ", authResult.getSubject());
int frameMax = broker.getContextValue(Integer.class, Broker.BROKER_FRAME_SIZE);
@@ -1288,8 +1271,7 @@ public class AMQPConnection_0_8
Broker<?> broker = getBroker();
- _logger.info("SASL Mechanism selected: " + mechanism);
- _logger.info("Locale selected: " + locale);
+ _logger.debug("SASL Mechanism selected: {} Locale : {}", mechanism, locale);
SubjectCreator subjectCreator = getSubjectCreator();
SaslServer ss;
@@ -1320,7 +1302,7 @@ public class AMQPConnection_0_8
case ERROR:
Exception cause = authResult.getCause();
- _logger.info("Authentication failed:" + (cause == null ? "" : cause.getMessage()));
+ _logger.debug("Authentication failed: {}", (cause == null ? "" : cause.getMessage()));
sendConnectionClose(AMQConstant.NOT_ALLOWED, "Authentication failed", 0);
@@ -1328,10 +1310,7 @@ public class AMQPConnection_0_8
break;
case SUCCESS:
- if (_logger.isInfoEnabled())
- {
- _logger.info("Connected as: " + authResult.getSubject());
- }
+ _logger.debug("Connected as: {}", authResult.getSubject());
setAuthorizedSubject(authResult.getSubject());
int frameMax = broker.getContextValue(Integer.class, Broker.BROKER_FRAME_SIZE);
Modified: qpid/java/trunk/systests/src/test/java/org/apache/qpid/server/logging/ConnectionLoggingTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/test/java/org/apache/qpid/server/logging/ConnectionLoggingTest.java?rev=1692752&r1=1692751&r2=1692752&view=diff
==============================================================================
--- qpid/java/trunk/systests/src/test/java/org/apache/qpid/server/logging/ConnectionLoggingTest.java (original)
+++ qpid/java/trunk/systests/src/test/java/org/apache/qpid/server/logging/ConnectionLoggingTest.java Sun Jul 26 19:39:21 2015
@@ -179,7 +179,7 @@ public class ConnectionLoggingTest exten
assertTrue("Message does not end with close:" + log, log.endsWith("Close"));
// Extract connection ID to validate there is a CON-1001 messasge for it
- final String logSubject = fromSubject(log);
+ final String logSubject = fromActor(log);
int closeConnectionID = getConnectionID(logSubject);
assertTrue("Could not get the connection id from CLOSE message: " + logSubject, closeConnectionID != -1);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org