You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ri...@apache.org on 2008/08/21 11:32:03 UTC

svn commit: r687664 - in /incubator/qpid/trunk/qpid/java: client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolHandler.java systests/src/main/java/org/apache/qpid/server/security/acl/SimpleACLTest.java

Author: ritchiem
Date: Thu Aug 21 02:32:02 2008
New Revision: 687664

URL: http://svn.apache.org/viewvc?rev=687664&view=rev
Log:
QPID-1225 : Temporary commit to allow CI systems to help diagnose cause of race condition. My guess is that the session is open but closes right after the isClosed call is done. So the client the goes on and does a waitForFrame that never arrives causing the timeout exceptions. As commented in AMQPH if we add our frame listener such that it will receive any existing and subsequent exceptions, such as connection closing whilst we add them to the framelisteners then I think this will resolve the issue.

Modified:
    incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolHandler.java
    incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/security/acl/SimpleACLTest.java

Modified: incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolHandler.java
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolHandler.java?rev=687664&r1=687663&r2=687664&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolHandler.java (original)
+++ incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolHandler.java Thu Aug 21 02:32:02 2008
@@ -658,6 +658,8 @@
                 }
 
                 _frameListeners.add(listener);
+                //FIXME: At this point here we should check or before add we should check _stateManager is in an open
+                // state so as we don't check we are likely just to time out here as I believe is being seen in QPID-1255 
             }
             _protocolSession.writeFrame(frame);
 

Modified: incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/security/acl/SimpleACLTest.java
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/security/acl/SimpleACLTest.java?rev=687664&r1=687663&r2=687664&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/security/acl/SimpleACLTest.java (original)
+++ incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/security/acl/SimpleACLTest.java Thu Aug 21 02:32:02 2008
@@ -290,7 +290,9 @@
 
             // Test the connection with a valid consumer
             // This may fail as the session may be closed before the queue or the consumer created.
-            session.createConsumer(session.createTemporaryQueue()).close();
+            Queue temp = session.createTemporaryQueue();
+
+            session.createConsumer(temp).close();
 
             //Connection should now be closed and will throw the exception caused by the above send
             conn.close();
@@ -300,6 +302,10 @@
         catch (JMSException e)
         {
             Throwable cause = e.getLinkedException();
+            if (!(cause instanceof AMQAuthenticationException))
+            {
+                e.printStackTrace();
+            }
             assertEquals("Incorrect exception", AMQAuthenticationException.class, cause.getClass());
             assertEquals("Incorrect error code thrown", 403, ((AMQAuthenticationException) cause).getErrorCode().getCode());
         }