Author: kwall
Date: Mon Mar 28 17:01:04 2016
New Revision: 1736906
URL: http://svn.apache.org/viewvc?rev=1736906&view=rev
Log:
QPID-7162: [Java Broker] Pull up logging of connection close
* AMQP 1.0 path now runs connection close as the connection subject and
distinguishes between normal/abnormal closes
Modified:
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/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/amqp_1_0/transport/ConnectionEndpoint.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/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Connection_1_0.java
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=1736906&r1=1736905&r2=1736906&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
Mon Mar 28 17:01:04 2016
@@ -30,7 +30,6 @@ import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.UUID;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicLong;
@@ -148,6 +147,7 @@ public abstract class AbstractAMQPConnec
{
deleted();
setState(State.DELETED);
+ logConnectionClose();
}
finally
{
@@ -163,7 +163,6 @@ public abstract class AbstractAMQPConnec
private static Map<String, Object> createAttributes(long connectionId,
NetworkConnection network)
{
Map<String,Object> attributes = new HashMap<>();
- attributes.put(ID, UUID.randomUUID());
attributes.put(NAME, "[" + connectionId + "] " +
String.valueOf(network.getRemoteAddress()).replaceAll("/", ""));
attributes.put(DURABLE, false);
return attributes;
@@ -704,6 +703,23 @@ public abstract class AbstractAMQPConnec
});
}
+ private void logConnectionClose()
+ {
+ runAsSubject(new PrivilegedAction<Void>()
+ {
+ @Override
+ public Void run()
+ {
+ getEventLogger().message(isOrderlyClose()
+ ? ConnectionMessages.CLOSE()
+ :
ConnectionMessages.DROPPED_CONNECTION());
+ return null;
+ }
+ });
+ }
+
+ protected abstract boolean isOrderlyClose();
+
@Override
public int getSessionCount()
{
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=1736906&r1=1736905&r2=1736906&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
Mon Mar 28 17:01:04 2016
@@ -328,4 +328,10 @@ public class AMQPConnection_0_10 extends
{
return _connection.getSessionCountLimit();
}
+
+ @Override
+ protected boolean isOrderlyClose()
+ {
+ return !_connection.isConnectionLost();
+ }
}
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=1736906&r1=1736905&r2=1736906&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
Mon Mar 28 17:01:04 2016
@@ -44,7 +44,6 @@ import org.apache.qpid.protocol.AMQConst
import org.apache.qpid.server.model.VirtualHost;
import org.apache.qpid.server.protocol.ConnectionClosingTicker;
import org.apache.qpid.server.logging.EventLogger;
-import org.apache.qpid.server.logging.messages.ConnectionMessages;
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.Transport;
import org.apache.qpid.server.model.port.AmqpPort;
@@ -387,7 +386,6 @@ public class ServerConnection extends Co
{
virtualHost.deregisterConnection(_amqpConnection);
}
- getEventLogger().message(isConnectionLost() ?
ConnectionMessages.DROPPED_CONNECTION() : ConnectionMessages.CLOSE());
}
}
@@ -572,4 +570,10 @@ public class ServerConnection extends Co
{
return _ignoreFutureInput;
}
+
+ @Override
+ public boolean isConnectionLost()
+ {
+ return super.isConnectionLost();
+ }
}
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=1736906&r1=1736905&r2=1736906&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
Mon Mar 28 17:01:04 2016
@@ -740,21 +740,14 @@ public class AMQPConnection_0_8
finally
{
markTransportClosed();
-
- runAsSubject(new PrivilegedAction<Void>()
- {
- @Override
- public Void run()
- {
- getEventLogger().message(_orderlyClose.get()
- ?
ConnectionMessages.CLOSE()
- :
ConnectionMessages.DROPPED_CONNECTION());
- return null;
- }
- });
}
}
+ @Override
+ protected boolean isOrderlyClose()
+ {
+ return _orderlyClose.get();
+ }
@Override
public void encryptedTransport()
Modified:
qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/amqp_1_0/transport/ConnectionEndpoint.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/amqp_1_0/transport/ConnectionEndpoint.java?rev=1736906&r1=1736905&r2=1736906&view=diff
==============================================================================
---
qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/amqp_1_0/transport/ConnectionEndpoint.java
(original)
+++
qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/amqp_1_0/transport/ConnectionEndpoint.java
Mon Mar 28 17:01:04 2016
@@ -39,6 +39,7 @@ import java.util.Map;
import java.util.Set;
import java.util.UUID;
import java.util.concurrent.TimeoutException;
+import java.util.concurrent.atomic.AtomicBoolean;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -154,6 +155,8 @@ public class ConnectionEndpoint implemen
private Map _remoteProperties;
private long _desiredIdleTimeout;
+ private final AtomicBoolean _orderlyClose = new AtomicBoolean(false);
+
public ConnectionEndpoint(Container container, SaslServerProvider cbs)
{
_container = container;
@@ -401,9 +404,11 @@ public class ConnectionEndpoint implemen
_state = ConnectionState.CLOSE_RECEIVED;
sendClose(new Close());
_state = ConnectionState.CLOSED;
+ _orderlyClose.set(true);
break;
case CLOSE_SENT:
_state = ConnectionState.CLOSED;
+ _orderlyClose.set(true);
default:
}
@@ -767,6 +772,11 @@ public class ConnectionEndpoint implemen
return _desiredIdleTimeout;
}
+ public boolean isOrderlyClose()
+ {
+ return _orderlyClose.get();
+ }
+
public static interface FrameReceiptLogger
{
boolean isEnabled();
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=1736906&r1=1736905&r2=1736906&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
Mon Mar 28 17:01:04 2016
@@ -70,8 +70,6 @@ import org.apache.qpid.server.security.a
import
org.apache.qpid.server.security.auth.manager.AnonymousAuthenticationManager;
import
org.apache.qpid.server.security.auth.manager.ExternalAuthenticationManagerImpl;
import org.apache.qpid.server.transport.AbstractAMQPConnection;
-import org.apache.qpid.server.transport.NetworkConnectionScheduler;
-import org.apache.qpid.server.transport.NonBlockingConnection;
import org.apache.qpid.server.transport.ProtocolEngine;
import org.apache.qpid.server.transport.ServerNetworkConnection;
import org.apache.qpid.server.util.Action;
@@ -479,12 +477,6 @@ public class AMQPConnection_1_0 extends
}
}
- void changeScheduler(final NetworkConnectionScheduler
networkConnectionScheduler)
- {
- ((NonBlockingConnection)
getNetwork()).pushScheduler(networkConnectionScheduler);
- }
-
-
public boolean canSend()
{
return true;
@@ -661,4 +653,10 @@ public class AMQPConnection_1_0 extends
{
return _connection.getSessionCountLimit();
}
+
+ @Override
+ protected boolean isOrderlyClose()
+ {
+ return _connection.getConnectionEndpoint().isOrderlyClose();
+ }
}
Modified:
qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Connection_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/Connection_1_0.java?rev=1736906&r1=1736905&r2=1736906&view=diff
==============================================================================
---
qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Connection_1_0.java
(original)
+++
qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Connection_1_0.java
Mon Mar 28 17:01:04 2016
@@ -52,7 +52,6 @@ import org.apache.qpid.amqp_1_0.type.tra
import org.apache.qpid.amqp_1_0.type.transport.Error;
import org.apache.qpid.protocol.AMQConstant;
import org.apache.qpid.server.logging.LogSubject;
-import org.apache.qpid.server.logging.messages.ConnectionMessages;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.Transport;
import org.apache.qpid.server.model.VirtualHost;
@@ -357,7 +356,6 @@ public class Connection_1_0 implements C
{
virtualHost.deregisterConnection(_amqpConnection);
}
-
getAmqpConnection().getEventLogger().message(ConnectionMessages.CLOSE());
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]