Author: ritchiem
Date: Thu Aug 21 06:15:25 2008
New Revision: 687741

URL: http://svn.apache.org/viewvc?rev=687741&view=rev
Log:
Stopped the broker closing the ProtocolSessions as this was causing the client 
to lock in Mina seemingly missing the notify for the CloseFuture and hangs 
indefinately

Modified:
    
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQMinaProtocolSession.java

Modified: 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQMinaProtocolSession.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQMinaProtocolSession.java?rev=687741&r1=687740&r2=687741&view=diff
==============================================================================
--- 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQMinaProtocolSession.java
 (original)
+++ 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQMinaProtocolSession.java
 Thu Aug 21 06:15:25 2008
@@ -230,7 +230,8 @@
                     _logger.info("Channel[" + channelId + "] awaiting closure. 
Should close socket as client did not close-ok :" + frame);
                 }
 
-                closeProtocolSession();
+
+//                closeProtocolSession();
                 return;
             }
         }
@@ -272,7 +273,7 @@
         }
         catch (AMQException e)
         {
-            _logger.error("Received incorrect protocol initiation", e);
+            _logger.info("Received incorrect protocol initiation:" + 
e.getMessage());
 
             _minaProtocolSession.write(new 
ProtocolInitiation(ProtocolVersion.getLatestSupportedVersion()));
 
@@ -356,7 +357,7 @@
 
             _logger.error("Unexpected exception while processing frame.  
Closing connection.", e);
 
-            closeProtocolSession();
+//            closeProtocolSession();
         }
     }
 
@@ -655,9 +656,9 @@
 
     public void closeProtocolSession(boolean waitLast)
     {
-        _logger.debug("Waiting for last write to join.");
         if (waitLast && (_lastWriteFuture != null))
         {
+            _logger.debug("Waiting for last write to join.");
             _lastWriteFuture.join(LAST_WRITE_FUTURE_JOIN_TIMEOUT);
         }
 


Reply via email to