Author: jing9
Date: Mon Jun 2 21:33:07 2014
New Revision: 1599366
URL: http://svn.apache.org/r1599366
Log:
HADOOP-10630. Possible race condition in RetryInvocationHandler. Contributed by
Jing Zhao.
Modified:
hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryInvocationHandler.java
Modified: hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1599366&r1=1599365&r2=1599366&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
(original)
+++ hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt Mon Jun
2 21:33:07 2014
@@ -527,6 +527,8 @@ Release 2.5.0 - UNRELEASED
HADOOP-10638. Updating hadoop-daemon.sh to work as expected when nfs is
started as a privileged user. (Manikandan Narayanaswamy via atm)
+ HADOOP-10630. Possible race condition in RetryInvocationHandler. (jing9)
+
Release 2.4.1 - UNRELEASED
INCOMPATIBLE CHANGES
Modified:
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryInvocationHandler.java
URL:
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryInvocationHandler.java?rev=1599366&r1=1599365&r2=1599366&view=diff
==============================================================================
---
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryInvocationHandler.java
(original)
+++
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryInvocationHandler.java
Mon Jun 2 21:33:07 2014
@@ -36,7 +36,6 @@ import org.apache.hadoop.ipc.ProtocolTra
import org.apache.hadoop.ipc.RPC;
import org.apache.hadoop.ipc.RpcConstants;
import org.apache.hadoop.ipc.RpcInvocationHandler;
-import org.apache.hadoop.util.ThreadUtil;
import com.google.common.annotations.VisibleForTesting;
@@ -160,11 +159,11 @@ public class RetryInvocationHandler<T> i
if (invocationAttemptFailoverCount ==
proxyProviderFailoverCount) {
proxyProvider.performFailover(currentProxy.proxy);
proxyProviderFailoverCount++;
- currentProxy = proxyProvider.getProxy();
} else {
LOG.warn("A failover has occurred since the start of this
method"
+ " invocation attempt.");
}
+ currentProxy = proxyProvider.getProxy();
}
invocationFailoverCount++;
}