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 eb...@apache.org on 2021/04/16 20:21:26 UTC
[hadoop] branch branch-3.3 updated: YARN-10460. Upgrading to JUnit
4.13 causes tests in TestNodeStatusUpdater to fail. Contributed by Peter
Bacsko
This is an automated email from the ASF dual-hosted git repository.
ebadger pushed a commit to branch branch-3.3
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/branch-3.3 by this push:
new f7e382c YARN-10460. Upgrading to JUnit 4.13 causes tests in TestNodeStatusUpdater to fail. Contributed by Peter Bacsko
f7e382c is described below
commit f7e382c62e31b721de754f57e57e46b7ba27d8a3
Author: Eric Badger <eb...@verizonmedia.com>
AuthorDate: Fri Apr 16 20:21:01 2021 +0000
YARN-10460. Upgrading to JUnit 4.13 causes tests in TestNodeStatusUpdater to fail. Contributed by Peter Bacsko
(cherry picked from commit 31477a224f2eddc78e19a9426f5ec6182193cc00)
---
.../src/main/java/org/apache/hadoop/ipc/ClientCache.java | 8 ++++++++
.../src/main/java/org/apache/hadoop/ipc/ProtobufRpcEngine2.java | 5 +++++
.../hadoop/yarn/server/nodemanager/TestNodeStatusUpdater.java | 7 +++++++
3 files changed, 20 insertions(+)
diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/ClientCache.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/ClientCache.java
index a0720d4..94a0f04 100644
--- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/ClientCache.java
+++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/ClientCache.java
@@ -29,6 +29,8 @@ import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.io.ObjectWritable;
import org.apache.hadoop.io.Writable;
+import org.apache.hadoop.thirdparty.com.google.common.annotations.VisibleForTesting;
+
/* Cache a client using its socket factory as the hash key */
@InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce"})
@InterfaceStability.Evolving
@@ -114,4 +116,10 @@ public class ClientCache {
client.stop();
}
}
+
+ @VisibleForTesting
+ public void clearCache() {
+ clients.values().forEach(c -> c.stop());
+ clients.clear();
+ }
}
diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/ProtobufRpcEngine2.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/ProtobufRpcEngine2.java
index fa1f106..5043051 100644
--- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/ProtobufRpcEngine2.java
+++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/ProtobufRpcEngine2.java
@@ -352,6 +352,11 @@ public class ProtobufRpcEngine2 implements RpcEngine {
portRangeConfig, alignmentContext);
}
+ @VisibleForTesting
+ public static void clearClientCache() {
+ CLIENTS.clearCache();
+ }
+
public static class Server extends RPC.Server {
static final ThreadLocal<ProtobufRpcEngineCallback2> CURRENT_CALLBACK =
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestNodeStatusUpdater.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestNodeStatusUpdater.java
index 9147641..48ce704 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestNodeStatusUpdater.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestNodeStatusUpdater.java
@@ -54,6 +54,7 @@ import org.apache.hadoop.io.DataOutputBuffer;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.io.retry.RetryPolicy;
import org.apache.hadoop.io.retry.RetryProxy;
+import org.apache.hadoop.ipc.ProtobufRpcEngine2;
import org.apache.hadoop.metrics2.lib.DefaultMetricsSystem;
import org.apache.hadoop.net.NetUtils;
import org.apache.hadoop.net.ServerSocketUtil;
@@ -137,6 +138,12 @@ public class TestNodeStatusUpdater extends NodeManagerTestBase {
private NodeManager nm;
private AtomicBoolean assertionFailedInThread = new AtomicBoolean(false);
+ @Before
+ public void before() {
+ // to avoid threading issues with JUnit 4.13+
+ ProtobufRpcEngine2.clearClientCache();
+ }
+
@After
public void tearDown() {
this.registeredNodes.clear();
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org