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 ar...@apache.org on 2019/04/05 20:22:04 UTC

[hadoop] branch trunk updated: HDDS-1332. Attempt to fix flaky test testStartStopDatanodeStateMachine (#697)

This is an automated email from the ASF dual-hosted git repository.

arp pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/hadoop.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 274ab4e  HDDS-1332. Attempt to fix flaky test testStartStopDatanodeStateMachine (#697)
274ab4e is described below

commit 274ab4e86c162d1446230948659372c6e8dca492
Author: Doroszlai, Attila <64...@users.noreply.github.com>
AuthorDate: Fri Apr 5 22:21:58 2019 +0200

    HDDS-1332. Attempt to fix flaky test testStartStopDatanodeStateMachine (#697)
---
 .../container/common/statemachine/SCMConnectionManager.java | 13 ++++++++-----
 .../ozone/container/common/TestDatanodeStateMachine.java    |  8 +++-----
 2 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/statemachine/SCMConnectionManager.java b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/statemachine/SCMConnectionManager.java
index 775a91a..f6f64a4 100644
--- a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/statemachine/SCMConnectionManager.java
+++ b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/statemachine/SCMConnectionManager.java
@@ -35,13 +35,13 @@ import java.io.IOException;
 import java.net.InetSocketAddress;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.locks.ReadWriteLock;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
 
+import static java.util.Collections.unmodifiableList;
 import static org.apache.hadoop.hdds.scm.HddsServerUtil
     .getScmRpcTimeOutInMilliseconds;
 
@@ -184,7 +184,12 @@ public class SCMConnectionManager
    * @return - List of RPC Endpoints.
    */
   public Collection<EndpointStateMachine> getValues() {
-    return scmMachines.values();
+    readLock();
+    try {
+      return unmodifiableList(new ArrayList<>(scmMachines.values()));
+    } finally {
+      readUnlock();
+    }
   }
 
   @Override
@@ -201,9 +206,7 @@ public class SCMConnectionManager
   public List<EndpointStateMachineMBean> getSCMServers() {
     readLock();
     try {
-      return Collections
-          .unmodifiableList(new ArrayList<>(scmMachines.values()));
-
+      return unmodifiableList(new ArrayList<>(scmMachines.values()));
     } finally {
       readUnlock();
     }
diff --git a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/TestDatanodeStateMachine.java b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/TestDatanodeStateMachine.java
index a6fef1e..29160ee 100644
--- a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/TestDatanodeStateMachine.java
+++ b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/TestDatanodeStateMachine.java
@@ -154,8 +154,6 @@ public class TestDatanodeStateMachine {
 
   /**
    * Assert that starting statemachine executes the Init State.
-   *
-   * @throws InterruptedException
    */
   @Test
   public void testStartStopDatanodeStateMachine() throws IOException,
@@ -167,9 +165,9 @@ public class TestDatanodeStateMachine {
           stateMachine.getConnectionManager();
       GenericTestUtils.waitFor(
           () -> {
-            LOG.info("connectionManager.getValues().size() is {}",
-                connectionManager.getValues().size());
-            return connectionManager.getValues().size() == 1;
+            int size = connectionManager.getValues().size();
+            LOG.info("connectionManager.getValues().size() is {}", size);
+            return size == 1;
           }, 1000, 30000);
 
       stateMachine.stopDaemon();


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