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 te...@apache.org on 2018/08/16 22:00:57 UTC
hadoop git commit: HDFS-13746. Still occasional "Should be different
group" failure in TestRefreshUserMappings#testGroupMappingRefresh
(Contributed by Siyao Meng via Daniel Templeton)
Repository: hadoop
Updated Branches:
refs/heads/trunk 5ef29087a -> 8512e1a91
HDFS-13746. Still occasional "Should be different group" failure in TestRefreshUserMappings#testGroupMappingRefresh
(Contributed by Siyao Meng via Daniel Templeton)
Change-Id: I9fad1537ace38367a463d9fe67aaa28d3178fc69
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/8512e1a9
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/8512e1a9
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/8512e1a9
Branch: refs/heads/trunk
Commit: 8512e1a91be3e340d919c7cdc9c09dfb762a6a4e
Parents: 5ef2908
Author: Daniel Templeton <te...@apache.org>
Authored: Thu Aug 16 13:43:49 2018 -0700
Committer: Daniel Templeton <te...@apache.org>
Committed: Thu Aug 16 15:00:45 2018 -0700
----------------------------------------------------------------------
.../security/TestRefreshUserMappings.java | 51 +++++++++++---------
1 file changed, 27 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/8512e1a9/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/security/TestRefreshUserMappings.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/security/TestRefreshUserMappings.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/security/TestRefreshUserMappings.java
index 0e7dfc3..2d7410a 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/security/TestRefreshUserMappings.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/security/TestRefreshUserMappings.java
@@ -34,7 +34,6 @@ import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.net.URLDecoder;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.List;
import org.apache.hadoop.conf.Configuration;
@@ -46,6 +45,8 @@ import org.apache.hadoop.security.authorize.AuthorizationException;
import org.apache.hadoop.security.authorize.DefaultImpersonationProvider;
import org.apache.hadoop.security.authorize.ProxyUsers;
import org.apache.hadoop.test.GenericTestUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.slf4j.event.Level;
import org.junit.After;
import org.junit.Before;
@@ -53,6 +54,8 @@ import org.junit.Test;
public class TestRefreshUserMappings {
+ private static final Logger LOG = LoggerFactory.getLogger(
+ TestRefreshUserMappings.class);
private MiniDFSCluster cluster;
Configuration config;
private static final long groupRefreshTimeoutSec = 1;
@@ -119,42 +122,42 @@ public class TestRefreshUserMappings {
Groups groups = Groups.getUserToGroupsMappingService(config);
String user = UserGroupInformation.getCurrentUser().getUserName();
- System.out.println("First attempt:");
+ LOG.debug("First attempt:");
List<String> g1 = groups.getGroups(user);
- String [] str_groups = new String [g1.size()];
- g1.toArray(str_groups);
- System.out.println(Arrays.toString(str_groups));
-
- System.out.println("Second attempt, should be the same:");
+ LOG.debug(g1.toString());
+
+ LOG.debug("Second attempt, should be the same:");
List<String> g2 = groups.getGroups(user);
- g2.toArray(str_groups);
- System.out.println(Arrays.toString(str_groups));
+ LOG.debug(g2.toString());
for(int i=0; i<g2.size(); i++) {
assertEquals("Should be same group ", g1.get(i), g2.get(i));
}
// Test refresh command
admin.run(args);
- System.out.println("Third attempt(after refresh command), should be different:");
+ LOG.debug("Third attempt(after refresh command), should be different:");
List<String> g3 = groups.getGroups(user);
- g3.toArray(str_groups);
- System.out.println(Arrays.toString(str_groups));
+ LOG.debug(g3.toString());
for(int i=0; i<g3.size(); i++) {
- assertFalse("Should be different group: " + g1.get(i) + " and " + g3.get(i),
- g1.get(i).equals(g3.get(i)));
+ assertFalse("Should be different group: "
+ + g1.get(i) + " and " + g3.get(i), g1.get(i).equals(g3.get(i)));
}
-
+
// Test timeout
- Thread.sleep(groupRefreshTimeoutSec * 1500);
- System.out.println("Fourth attempt(after timeout), should be different:");
- List<String> g4 = groups.getGroups(user);
- g4.toArray(str_groups);
- System.out.println(Arrays.toString(str_groups));
- for(int i=0; i<g4.size(); i++) {
- assertFalse("Should be different group ", g3.get(i).equals(g4.get(i)));
- }
+ LOG.debug("Fourth attempt(after timeout), should be different:");
+ GenericTestUtils.waitFor(() -> {
+ List<String> g4;
+ try {
+ g4 = groups.getGroups(user);
+ } catch (IOException e) {
+ return false;
+ }
+ LOG.debug(g4.toString());
+ // if g4 is the same as g3, wait and retry
+ return !g3.equals(g4);
+ }, 50, Math.toIntExact(groupRefreshTimeoutSec * 1000 * 30));
}
-
+
@Test
public void testRefreshSuperUserGroupsConfiguration() throws Exception {
final String SUPER_USER = "super_user";
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org