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