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 as...@apache.org on 2015/12/30 07:56:35 UTC

[10/27] hadoop git commit: HADOOP-12566. Add NullGroupMapping. (Daniel Templeton via kasha)

HADOOP-12566. Add NullGroupMapping. (Daniel Templeton via kasha)


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

Branch: refs/heads/yarn-2877
Commit: 8b1837fcd1f01d881deacd72b4e548ec2bdcb7ad
Parents: bb5df27
Author: Karthik Kambatla <ka...@cloudera.com>
Authored: Wed Dec 23 14:34:53 2015 -0800
Committer: Karthik Kambatla <ka...@cloudera.com>
Committed: Wed Dec 23 14:34:53 2015 -0800

----------------------------------------------------------------------
 hadoop-common-project/hadoop-common/CHANGES.txt |  2 +
 .../hadoop/security/NullGroupsMapping.java      | 50 ++++++++++++++++
 .../hadoop/security/TestNullGroupsMapping.java  | 60 ++++++++++++++++++++
 3 files changed, 112 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/8b1837fc/hadoop-common-project/hadoop-common/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt
index b0bcf91..86bd3f2 100644
--- a/hadoop-common-project/hadoop-common/CHANGES.txt
+++ b/hadoop-common-project/hadoop-common/CHANGES.txt
@@ -651,6 +651,8 @@ Release 2.9.0 - UNRELEASED
 
     HADOOP-12625. Add a config to disable the /logs endpoints (rkanter)
 
+    HADOOP-12566. Add NullGroupMapping. (Daniel Templeton via kasha)
+
   OPTIMIZATIONS
 
   BUG FIXES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/8b1837fc/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/NullGroupsMapping.java
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/NullGroupsMapping.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/NullGroupsMapping.java
new file mode 100644
index 0000000..f3d048d
--- /dev/null
+++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/NullGroupsMapping.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2015 Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.security;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * This class provides groups mapping for {@link UserGroupInformation} when the
+ * user group information will not be used.
+ */
+public class NullGroupsMapping implements GroupMappingServiceProvider {
+  /**
+   * Nothing is returned, so nothing is cached.
+   * @param groups ignored
+   */
+  @Override
+  public void cacheGroupsAdd(List<String> groups) {
+  }
+
+  /**
+   * Returns an empty list.
+   * @param user ignored
+   * @return an empty list
+   */
+  @Override
+  public List<String> getGroups(String user) {
+    return Collections.emptyList();
+  }
+
+  /**
+   * Nothing is returned, so nothing is cached.
+   */
+  @Override
+  public void cacheGroupsRefresh() {
+  }
+}

http://git-wip-us.apache.org/repos/asf/hadoop/blob/8b1837fc/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/security/TestNullGroupsMapping.java
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/security/TestNullGroupsMapping.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/security/TestNullGroupsMapping.java
new file mode 100644
index 0000000..4b94e51
--- /dev/null
+++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/security/TestNullGroupsMapping.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright 2015 Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.security;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import org.junit.Before;
+import org.junit.Test;
+import static org.junit.Assert.*;
+
+/**
+ * Test that the {@link NullGroupsMapping} really does nothing.
+ */
+public class TestNullGroupsMapping {
+  private NullGroupsMapping ngm;
+
+  @Before
+  public void setUp() {
+    this.ngm = new NullGroupsMapping();
+  }
+
+  /**
+   * Test of getGroups method, of class {@link NullGroupsMapping}.
+   */
+  @Test
+  public void testGetGroups() {
+    String user = "user";
+    List<String> expResult = Collections.emptyList();
+    List<String> result = ngm.getGroups(user);
+
+    assertEquals("No groups should be returned",
+        expResult, result);
+
+    ngm.cacheGroupsAdd(Arrays.asList(new String[] {"group1", "group2"}));
+    result = ngm.getGroups(user);
+
+    assertEquals("No groups should be returned",
+        expResult, result);
+
+    ngm.cacheGroupsRefresh();
+    result = ngm.getGroups(user);
+
+    assertEquals("No groups should be returned",
+        expResult, result);
+  }
+}