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]

Reply via email to