You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by in...@apache.org on 2018/05/10 16:24:54 UTC
hadoop git commit: Revert "HDFS-13388. RequestHedgingProxyProvider
calls multiple configured NNs all the time. Contributed by Jinglun."
Repository: hadoop
Updated Branches:
refs/heads/branch-3.0 c198550cc -> d72a4b630
Revert "HDFS-13388. RequestHedgingProxyProvider calls multiple configured NNs all the time. Contributed by Jinglun."
This reverts commit 1049e180a7dbc85e17c17240d231ed9a4659ed09.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/d72a4b63
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/d72a4b63
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/d72a4b63
Branch: refs/heads/branch-3.0
Commit: d72a4b6303dd8ca460a866b67f7fb13a2b420acc
Parents: c198550
Author: Inigo Goiri <in...@apache.org>
Authored: Thu May 10 09:24:45 2018 -0700
Committer: Inigo Goiri <in...@apache.org>
Committed: Thu May 10 09:24:45 2018 -0700
----------------------------------------------------------------------
.../ha/RequestHedgingProxyProvider.java | 14 ----
.../ha/TestRequestHedgingProxyProvider.java | 79 --------------------
2 files changed, 93 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/d72a4b63/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/RequestHedgingProxyProvider.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/RequestHedgingProxyProvider.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/RequestHedgingProxyProvider.java
index e21ede9..b94e94d 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/RequestHedgingProxyProvider.java
+++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/RequestHedgingProxyProvider.java
@@ -76,20 +76,6 @@ public class RequestHedgingProxyProvider<T> extends
public Object
invoke(Object proxy, final Method method, final Object[] args)
throws Throwable {
- if (currentUsedProxy != null) {
- try {
- Object retVal = method.invoke(currentUsedProxy.proxy, args);
- LOG.debug("Invocation successful on [{}]",
- currentUsedProxy.proxyInfo);
- return retVal;
- } catch (InvocationTargetException ex) {
- Exception unwrappedException = unwrapInvocationTargetException(ex);
- logProxyException(unwrappedException, currentUsedProxy.proxyInfo);
- LOG.trace("Unsuccessful invocation on [{}]",
- currentUsedProxy.proxyInfo);
- throw unwrappedException;
- }
- }
Map<Future<Object>, ProxyInfo<T>> proxyMap = new HashMap<>();
int numAttempts = 0;
http://git-wip-us.apache.org/repos/asf/hadoop/blob/d72a4b63/hadoop-hdfs-project/hadoop-hdfs-client/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestRequestHedgingProxyProvider.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestRequestHedgingProxyProvider.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestRequestHedgingProxyProvider.java
index 8a3148d..04e77ad 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestRequestHedgingProxyProvider.java
+++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestRequestHedgingProxyProvider.java
@@ -42,15 +42,10 @@ import org.junit.Assert;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
-
-import static org.apache.hadoop.test.GenericTestUtils.assertExceptionContains;
-import static org.junit.Assert.assertEquals;
import org.mockito.Matchers;
import org.mockito.Mockito;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
-import static org.mockito.Mockito.when;
-import static org.mockito.Mockito.mock;
import com.google.common.collect.Lists;
@@ -104,80 +99,6 @@ public class TestRequestHedgingProxyProvider {
}
@Test
- public void testRequestNNAfterOneSuccess() throws Exception {
- final AtomicInteger goodCount = new AtomicInteger(0);
- final AtomicInteger badCount = new AtomicInteger(0);
- final ClientProtocol goodMock = mock(ClientProtocol.class);
- when(goodMock.getStats()).thenAnswer(new Answer<long[]>() {
- @Override
- public long[] answer(InvocationOnMock invocation) throws Throwable {
- goodCount.incrementAndGet();
- Thread.sleep(1000);
- return new long[]{1};
- }
- });
- final ClientProtocol badMock = mock(ClientProtocol.class);
- when(badMock.getStats()).thenAnswer(new Answer<long[]>() {
- @Override
- public long[] answer(InvocationOnMock invocation) throws Throwable {
- badCount.incrementAndGet();
- throw new IOException("Bad mock !!");
- }
- });
-
- RequestHedgingProxyProvider<ClientProtocol> provider =
- new RequestHedgingProxyProvider<>(conf, nnUri, ClientProtocol.class,
- createFactory(badMock, goodMock));
- ClientProtocol proxy = provider.getProxy().proxy;
- proxy.getStats();
- assertEquals(1, goodCount.get());
- assertEquals(1, badCount.get());
- // We will only use the successful proxy after a successful invocation.
- proxy.getStats();
- assertEquals(2, goodCount.get());
- assertEquals(1, badCount.get());
- }
-
- @Test
- public void testExceptionInfo() throws Exception {
- final ClientProtocol goodMock = mock(ClientProtocol.class);
- when(goodMock.getStats()).thenAnswer(new Answer<long[]>() {
- private boolean first = true;
- @Override
- public long[] answer(InvocationOnMock invocation)
- throws Throwable {
- if (first) {
- Thread.sleep(1000);
- first = false;
- return new long[] {1};
- } else {
- throw new IOException("Expected Exception Info");
- }
- }
- });
- final ClientProtocol badMock = mock(ClientProtocol.class);
- when(badMock.getStats()).thenAnswer(new Answer<long[]>() {
- @Override
- public long[] answer(InvocationOnMock invocation)
- throws Throwable {
- throw new IOException("Bad Mock! This is Standby!");
- }
- });
-
- RequestHedgingProxyProvider<ClientProtocol> provider =
- new RequestHedgingProxyProvider<>(conf, nnUri, ClientProtocol.class,
- createFactory(badMock, goodMock));
- ClientProtocol proxy = provider.getProxy().proxy;
- proxy.getStats();
- // Test getting the exception when the successful proxy encounters one.
- try {
- proxy.getStats();
- } catch (IOException e) {
- assertExceptionContains("Expected Exception Info", e);
- }
- }
-
- @Test
public void testHedgingWhenOneIsSlow() throws Exception {
final ClientProtocol goodMock = Mockito.mock(ClientProtocol.class);
Mockito.when(goodMock.getStats()).thenAnswer(new Answer<long[]>() {
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org