You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by gr...@apache.org on 2010/10/03 18:02:42 UTC

svn commit: r1003985 - in /qpid/trunk/qpid/java: broker/src/main/java/org/apache/qpid/server/transport/ common/src/main/java/org/apache/qpid/transport/ systests/src/main/java/org/apache/qpid/server/logging/ test-profiles/

Author: grkvlt
Date: Sun Oct  3 16:02:42 2010
New Revision: 1003985

URL: http://svn.apache.org/viewvc?rev=1003985&view=rev
Log:
QPID-2839 Add channel (CHN) Operational Loggin on 0-10

Committed patch from SorinS <ss...@gmail.com>

Modified:
    qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java
    qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java
    qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ChannelLoggingTest.java
    qpid/trunk/qpid/java/test-profiles/Java010Excludes

Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java?rev=1003985&r1=1003984&r2=1003985&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java (original)
+++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java Sun Oct  3 16:02:42 2010
@@ -33,7 +33,9 @@ import org.apache.qpid.server.configurat
 import org.apache.qpid.server.configuration.SessionConfig;
 import org.apache.qpid.server.configuration.SessionConfigType;
 import org.apache.qpid.server.logging.LogSubject;
-import org.apache.qpid.server.logging.subjects.ConnectionLogSubject;
+import org.apache.qpid.server.logging.actors.CurrentActor;
+import org.apache.qpid.server.logging.actors.GenericActor;
+import org.apache.qpid.server.logging.messages.ChannelMessages;
 import org.apache.qpid.server.message.ServerMessage;
 import org.apache.qpid.server.queue.AMQQueue;
 import org.apache.qpid.server.queue.BaseQueue;
@@ -55,6 +57,7 @@ import org.apache.qpid.transport.Range;
 import org.apache.qpid.transport.RangeSet;
 import org.apache.qpid.transport.Session;
 import org.apache.qpid.transport.SessionDelegate;
+import org.apache.qpid.transport.Session.State;
 
 import java.lang.ref.WeakReference;
 import java.security.Principal;
@@ -121,6 +124,16 @@ public class ServerSession extends Sessi
         this(connection, delegate, name, expiry, ((ServerConnection)connection).getConfig());
     }
 
+    protected void setState(State state)
+    {
+        super.setState(state);
+
+        if (state == State.OPEN)
+        {
+	        GenericActor.getInstance(this).message(ChannelMessages.CREATE());
+        }
+    }
+
     public ServerSession(Connection connection, SessionDelegate delegate, Binary name, long expiry, ConnectionConfig connConfig)
     {
         super(connection, delegate, name, expiry);
@@ -337,7 +350,8 @@ public class ServerSession extends Sessi
         {
             task.doTask(this);
         }
-
+        
+        CurrentActor.get().message(getLogSubject(), ChannelMessages.CLOSE());
     }
 
     @Override
@@ -590,10 +604,12 @@ public class ServerSession extends Sessi
     public String toLogString()
     {
        return " [" +
-               MessageFormat.format(CHANNEL_FORMAT, getId().toString(), getClientID(),
+               MessageFormat.format(CHANNEL_FORMAT,
+                                   getConnection().getConnectionId(),
+                                   getClientID(),
                                    ((ProtocolEngine) _connectionConfig).getRemoteAddress().toString(),
-                                   this.getVirtualHost().getName(),
-                                   this.getChannel())
+                                   getVirtualHost().getName(),
+                                   getChannel())
             + "] ";
 
     }

Modified: qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java?rev=1003985&r1=1003984&r2=1003985&view=diff
==============================================================================
--- qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java (original)
+++ qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java Sun Oct  3 16:02:42 2010
@@ -404,7 +404,7 @@ public class Connection extends Connecti
     {
         synchronized (lock)
         {
-            for (int i = 0; i < getChannelMax(); i++)
+            for (int i = 1; i <= getChannelMax(); i++)
             {
                 if (!channels.containsKey(i))
                 {

Modified: qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java?rev=1003985&r1=1003984&r2=1003985&view=diff
==============================================================================
--- qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java (original)
+++ qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java Sun Oct  3 16:02:42 2010
@@ -58,7 +58,7 @@ public class Session extends SessionInvo
 
     private static final Logger log = Logger.get(Session.class);
 
-    enum State { NEW, DETACHED, RESUMING, OPEN, CLOSING, CLOSED }
+    public enum State { NEW, DETACHED, RESUMING, OPEN, CLOSING, CLOSED }
 
     static class DefaultSessionListener implements SessionListener
     {
@@ -187,7 +187,7 @@ public class Session extends SessionInvo
         }
     }
 
-    void setState(State state)
+    protected void setState(State state)
     {
         synchronized (commands)
         {

Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ChannelLoggingTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ChannelLoggingTest.java?rev=1003985&r1=1003984&r2=1003985&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ChannelLoggingTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/ChannelLoggingTest.java Sun Oct  3 16:02:42 2010
@@ -64,27 +64,34 @@ public class ChannelLoggingTest extends 
         // Test that calling session.close gives us the expected output
         ((AMQConnection)connection).createSession(false, Session.AUTO_ACKNOWLEDGE,PREFETCH);
 
-        // Wait to ensure that the CHN-1004 message is logged
-        waitForMessage("CHN-1004");
+        // Wait to ensure that the CHN-1001 message is logged
+        waitForMessage("CHN-1001");
 
-        List<String> results = findMatches(CHANNEL_PREFIX);
+        List<String> results = findMatches("CHN-1001");
 
         // Validation
-
-        assertEquals("CHN messages not logged", 2, results.size());
+        assertEquals("CHN-1001 messages not logged", 1, results.size());
 
         String log = getLogMessage(results, 0);
         //  MESSAGE [con:0(guest@anonymous(3273383)/test)/ch:1] CHN-1001 : Create
-        //1 & 2
         validateMessageID("CHN-1001", log);
         assertEquals("Incorrect Channel in actor:"+fromActor(log), 1, getChannelID(fromActor(log)));
 
-        log = getLogMessage(results, 1);
-        //  MESSAGE [con:0(guest@anonymous(3273383)/test)/ch:1] CHN-1004 : Prefetch Size (bytes) {0,number} : Count {1,number}
-        //1 & 2
-        validateMessageID("CHN-1004", log);
-        assertEquals("Incorrect Channel in actor:"+fromActor(log), 1, getChannelID(fromActor(log)));
-        assertTrue("Prefetch Count not correct",getMessageString(fromMessage(log)).endsWith("Count "+PREFETCH));
+        if (isBroker08())
+        {
+            // Wait to ensure that the CHN-1004 message is logged
+            waitForMessage("CHN-1004");
+
+            results = findMatches("CHN-1004");
+
+            // Validation
+            assertEquals("CHN-1004 messages not logged", 1, results.size());
+            log = getLogMessage(results, 0);
+            //  MESSAGE [con:0(guest@anonymous(3273383)/test)/ch:1] CHN-1004 : Prefetch Size (bytes) {0,number} : Count {1,number}
+            validateMessageID("CHN-1004", log);
+            assertEquals("Incorrect Channel in actor:"+fromActor(log), 1, getChannelID(fromActor(log)));
+            assertTrue("Prefetch Count not correct",getMessageString(fromMessage(log)).endsWith("Count "+PREFETCH));
+        }
 
         connection.close();
     }
@@ -276,9 +283,11 @@ public class ChannelLoggingTest extends 
         Connection connection = getConnection();
 
         // Create a session and then close it
-        connection.createSession(false, Session.AUTO_ACKNOWLEDGE).close();
+        Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+        waitForMessage("CHN-1001");
 
         // Wait to ensure that the CHN-1003 message is logged
+        session.close();
         waitForMessage("CHN-1003");
 
         List<String> results = findMatches(CHANNEL_PREFIX);
@@ -291,11 +300,14 @@ public class ChannelLoggingTest extends 
 
     private void validateChannelClose(List<String> results)
     {
-        String log = getLogMessageFromEnd(results, 0);
+        String open = getLogMessage(results, 0);
+        String close = getLogMessageFromEnd(results, 0);
 
-        validateMessageID("CHN-1003", log);
-        assertEquals("Message should be Close", "Close",getMessageString(fromMessage(log)));
-        assertEquals("Incorrect Channel ID closed.", 1, getChannelID(fromActor(log)));
-        assertEquals("Incorrect Channel ID closed.", 1, getChannelID(fromSubject(log)));
+        validateMessageID("CHN-1001", open);
+        validateMessageID("CHN-1003", close);
+        assertEquals("Message should be Close", "Close", getMessageString(fromMessage(close)));
+        assertEquals("Incorrect Channel ID closed", 1, getChannelID(fromSubject(close)));
+        assertEquals("Channel IDs should be the same", getChannelID(fromActor(open)), getChannelID(fromSubject(close)));
+        assertEquals("Connection IDs should be the same", getConnectionID(fromActor(open)), getConnectionID(fromSubject(close)));
     }
 }
\ No newline at end of file

Modified: qpid/trunk/qpid/java/test-profiles/Java010Excludes
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/test-profiles/Java010Excludes?rev=1003985&r1=1003984&r2=1003985&view=diff
==============================================================================
--- qpid/trunk/qpid/java/test-profiles/Java010Excludes (original)
+++ qpid/trunk/qpid/java/test-profiles/Java010Excludes Sun Oct  3 16:02:42 2010
@@ -26,7 +26,9 @@ org.apache.qpid.server.logging.AccessCon
 org.apache.qpid.server.logging.AlertingTest#*
 org.apache.qpid.server.logging.BindingLoggingTest#*
 org.apache.qpid.server.logging.BrokerLoggingTest#*
-org.apache.qpid.server.logging.ChannelLoggingTest#*
+org.apache.qpid.server.logging.ChannelLoggingTest#testChannelStartsFlowStopped
+org.apache.qpid.server.logging.ChannelLoggingTest#testChannelStartConsumerFlowStarted
+org.apache.qpid.server.logging.ChannelLoggingTest#testChannelStartConsumerFlowStarted
 org.apache.qpid.server.logging.DerbyMessageStoreLoggingTest#*
 org.apache.qpid.server.logging.DurableQueueLoggingTest#*
 org.apache.qpid.server.logging.ExchangeLoggingTest#*



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org