Author: kwall
Date: Mon May  9 11:29:57 2016
New Revision: 1742926

URL: http://svn.apache.org/viewvc?rev=1742926&view=rev
Log:
QPID-7253: [Java Client, 0-10] Take failover mutex when executing operations 
that may be interrupted by failover

Modified:
    
qpid/java/trunk/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_0_10.java
    
qpid/java/trunk/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_8_0.java

Modified: 
qpid/java/trunk/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_0_10.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_0_10.java?rev=1742926&r1=1742925&r2=1742926&view=diff
==============================================================================
--- 
qpid/java/trunk/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_0_10.java
 (original)
+++ 
qpid/java/trunk/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_0_10.java
 Mon May  9 11:29:57 2016
@@ -481,17 +481,22 @@ public class AMQConnectionDelegate_0_10
             }
             catch (InterruptedException e)
             {
-                //ignore
+                Thread.currentThread().interrupt();
+                return null;
             }
         }
 
-        try
+        synchronized (_conn.getFailoverMutex())
         {
-            return operation.execute();
-        }
-        catch (FailoverException e)
-        {
-            throw new RuntimeException(e);
+            try
+            {
+                return operation.execute();
+            }
+            catch (FailoverException e)
+            {
+                // FailoverException never thrown on 0-10 path
+                throw new RuntimeException(e);
+            }
         }
     }
 

Modified: 
qpid/java/trunk/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_8_0.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_8_0.java?rev=1742926&r1=1742925&r2=1742926&view=diff
==============================================================================
--- 
qpid/java/trunk/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_8_0.java
 (original)
+++ 
qpid/java/trunk/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_8_0.java
 Mon May  9 11:29:57 2016
@@ -66,7 +66,7 @@ public class AMQConnectionDelegate_8_0 i
 {
     private static final Logger _logger = 
LoggerFactory.getLogger(AMQConnectionDelegate_8_0.class);
 
-    // deprectaed legacy name for the option
+    // deprecated legacy name for the option
     private static final String AMQJ_DEFAULT_SYNCWRITE_TIMEOUT = 
"amqj.default_syncwrite_timeout";
 
     private final AMQConnection _conn;
@@ -406,7 +406,7 @@ public class AMQConnectionDelegate_8_0 i
             catch (InterruptedException e)
             {
                 _logger.debug("Interrupted: " + e, e);
-
+                Thread.currentThread().interrupt();
                 return null;
             }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to