HDFS-17832. TestNameNodeResourceChecker fails with Java 24 (#7962). Contributed by Istvan Toth.
Signed-off-by: Shilun Fan <slfan1989@apache.org>
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestNameNodeResourceChecker.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestNameNodeResourceChecker.java
index 4e4b7b0..764de3f 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestNameNodeResourceChecker.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestNameNodeResourceChecker.java
@@ -27,6 +27,7 @@
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
+import java.util.regex.Pattern;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hdfs.DFSConfigKeys;
@@ -109,7 +110,7 @@ public void testCheckThatNameNodeResourceMonitorIsRunning()
boolean isNameNodeMonitorRunning = false;
Set<Thread> runningThreads = Thread.getAllStackTraces().keySet();
for (Thread runningThread : runningThreads) {
- if (runningThread.toString().startsWith("Thread[" + name)) {
+ if (runningThread.toString().matches("Thread\\[(#\\d+,)?" + Pattern.quote(name) + ".*")) {
isNameNodeMonitorRunning = true;
break;
}