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 aw...@apache.org on 2016/09/08 14:57:29 UTC

[04/48] hadoop git commit: Addendum fix for HDFS-10817 to fix failure of the added testFSReadLockLongHoldingReport in branch-2.

Addendum fix for HDFS-10817 to fix failure of the added testFSReadLockLongHoldingReport in branch-2.


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/6c600360
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/6c600360
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/6c600360

Branch: refs/heads/HADOOP-13341
Commit: 6c600360ca469d5fe0f017d681585db06c80c9cc
Parents: 6f4b0d3
Author: Zhe Zhang <zh...@apache.org>
Authored: Wed Aug 31 23:43:59 2016 -0700
Committer: Zhe Zhang <zh...@apache.org>
Committed: Wed Aug 31 23:43:59 2016 -0700

----------------------------------------------------------------------
 .../hdfs/server/namenode/TestFSNamesystem.java  | 50 +++-----------------
 1 file changed, 6 insertions(+), 44 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/6c600360/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFSNamesystem.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFSNamesystem.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFSNamesystem.java
index ccc8a6e..b85b6aba 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFSNamesystem.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFSNamesystem.java
@@ -59,6 +59,7 @@ import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.TimeoutException;
+import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 public class TestFSNamesystem {
@@ -431,54 +432,15 @@ public class TestFSNamesystem {
     t2.start();
     t1.join();
     t2.join();
+    // Look for the differentiating class names in the stack trace
+    String stackTracePatternString =
+        String.format("INFO.+%s(.+\n){4}\\Q%%s\\E\\.run", readLockLogStmt);
     Pattern t1Pattern = Pattern.compile(
-        String.format("\\Q%s\\E.+%s", t1.getName(), readLockLogStmt));
+        String.format(stackTracePatternString, t1.getClass().getName()));
     assertTrue(t1Pattern.matcher(logs.getOutput()).find());
     Pattern t2Pattern = Pattern.compile(
-        String.format("\\Q%s\\E.+%s", t2.getName(), readLockLogStmt));
+        String.format(stackTracePatternString, t2.getClass().getName()));
     assertFalse(t2Pattern.matcher(logs.getOutput()).find());
-
-    // Spin up a bunch of threads all grabbing the lock at once; assign some
-    // to go over threshold and some under. Check that they all log correctly.
-    logs.clearOutput();
-    final int threadCount = 50;
-    List<Thread> threads = new ArrayList<>(threadCount);
-    for (int i = 0; i < threadCount; i++) {
-      threads.add(new Thread() {
-        @Override
-        public void run() {
-          try {
-            long sleepTime;
-            if (this.getName().hashCode() % 2 == 0) {
-              sleepTime = readLockReportingThreshold + 10;
-            } else {
-              sleepTime = readLockReportingThreshold / 2;
-            }
-            fsn.readLock();
-            Thread.sleep(sleepTime);
-            fsn.readUnlock();
-          } catch (InterruptedException e) {
-            fail("Interrupted during testing");
-          }
-        }
-      });
-    }
-    for (Thread t : threads) {
-      t.start();
-    }
-    for (Thread t : threads) {
-      t.join();
-    }
-    for (Thread t : threads) {
-      Pattern p = Pattern.compile(
-          String.format("\\Q%s\\E.+%s", t.getName(), readLockLogStmt));
-      boolean foundLog = p.matcher(logs.getOutput()).find();
-      if (t.getName().hashCode() % 2 == 0) {
-        assertTrue(foundLog);
-      } else {
-        assertFalse(foundLog);
-      }
-    }
   }
 
   @Test


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org