Author: robbie Date: Mon Feb 20 16:17:39 2012 New Revision: 1291344 URL: http://svn.apache.org/viewvc?rev=1291344&view=rev Log: QPID-3857: Fix racing conditions on registering session in connection and sending session.attached command.
Applied patch from Oleksandr Rudyy <oru...@gmail.com> Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnectionDelegate.java qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnectionDelegate.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnectionDelegate.java?rev=1291344&r1=1291343&r2=1291344&view=diff ============================================================================== --- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnectionDelegate.java (original) +++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnectionDelegate.java Mon Feb 20 16:17:39 2012 @@ -256,7 +256,6 @@ public class ServerConnectionDelegate ex if(isSessionNameUnique(atc.getName(), conn)) { ssn = sessionAttachImpl(conn, atc); - conn.registerSession(ssn); ((ServerConnection)conn).checkForNotification(); } else Modified: qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java?rev=1291344&r1=1291343&r2=1291344&view=diff ============================================================================== --- qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java (original) +++ qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java Mon Feb 20 16:17:39 2012 @@ -198,6 +198,7 @@ public class ServerDelegate extends Conn { Session ssn = getSession(conn, atc); conn.map(ssn, atc.getChannel()); + conn.registerSession(ssn); ssn.sessionAttached(atc.getName()); ssn.setState(Session.State.OPEN); --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:commits-subscr...@qpid.apache.org