You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by sp...@apache.org on 2020/03/09 16:20:39 UTC

[ranger] branch master updated: Revert "RANGER-2753: Using DB query to access user group mappings while generating user store information"

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

spolavarapu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ranger.git


The following commit(s) were added to refs/heads/master by this push:
     new 767d9e7  Revert "RANGER-2753: Using DB query to access user group mappings while generating user store information"
767d9e7 is described below

commit 767d9e760b762362fab7e73c8b325b6f24d7a17e
Author: Sailaja Polavarapu <sp...@cloudera.com>
AuthorDate: Mon Mar 9 09:20:13 2020 -0700

    Revert "RANGER-2753: Using DB query to access user group mappings while generating user store information"
    
    This reverts commit 48076d2055ccdc9dbf7cfb46a368c1e0b7d20e6f.
    
    	modified:   agents-common/src/main/java/org/apache/ranger/plugin/util/RangerUserStore.java
    	modified:   security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
    	modified:   security-admin/src/main/java/org/apache/ranger/common/RangerUserStoreCache.java
    	modified:   security-admin/src/main/java/org/apache/ranger/db/XXUserDao.java
    	modified:   security-admin/src/main/resources/META-INF/jpa_named_queries.xml
---
 .../apache/ranger/plugin/util/RangerUserStore.java | 12 ++++++----
 .../main/java/org/apache/ranger/biz/XUserMgr.java  |  4 ----
 .../apache/ranger/common/RangerUserStoreCache.java | 11 +++------
 .../main/java/org/apache/ranger/db/XXUserDao.java  | 26 ----------------------
 .../main/resources/META-INF/jpa_named_queries.xml  |  7 ------
 5 files changed, 11 insertions(+), 49 deletions(-)

diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerUserStore.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerUserStore.java
index 2916ae7..dfe742f 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerUserStore.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerUserStore.java
@@ -32,7 +32,10 @@ import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlRootElement;
 import java.io.Serializable;
-import java.util.*;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
 
 @JsonAutoDetect(fieldVisibility= JsonAutoDetect.Visibility.ANY)
 @JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
@@ -51,12 +54,11 @@ public class RangerUserStore implements Serializable {
     private Map<String, String>              userCloudIdMapping;
     private Map<String, String>              groupCloudIdMapping;
 
-    public RangerUserStore() {this(-1L, null, null, null);}
+    public RangerUserStore() {this(-1L, null, null);}
 
-    public RangerUserStore(Long userStoreVersion, Set<UserInfo> users, Set<GroupInfo> groups, Map<String, Set<String>> userGroups) {
+    public RangerUserStore(Long userStoreVersion, Set<UserInfo> users, Set<GroupInfo> groups ) {
         setUserStoreVersion(userStoreVersion);
         setUserStoreUpdateTime(new Date());
-        setUserGroupMapping(userGroups);
         buildMap(users, groups);
     }
     public Long getUserStoreVersion() {
@@ -151,6 +153,7 @@ public class RangerUserStore implements Serializable {
         if (CollectionUtils.isNotEmpty(users)) {
             userAttrMapping = new HashMap<>();
             userCloudIdMapping = new HashMap<>();
+            userGroupMapping = new HashMap<>();
             for (UserInfo user : users) {
                 String username = user.getName();
                 Map<String, String> userAttrs = user.getOtherAttributes();
@@ -161,6 +164,7 @@ public class RangerUserStore implements Serializable {
                         userCloudIdMapping.put(cloudId, username);
                     }
                 }
+                userGroupMapping.put(username, user.getGroups());
             }
         }
         if (CollectionUtils.isNotEmpty(groups)) {
diff --git a/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java b/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
index 6a5ca7b..88a4330 100755
--- a/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
@@ -2567,10 +2567,6 @@ public class XUserMgr extends XUserMgrBase {
 		return  new HashSet<>(xGroupService.getGroups());
 	}
 
-	public Map<String, Set<String>> getUserGroups() {
-		return daoManager.getXXUser().findGroupsByUserIds();
-	}
-
 	public RangerUserStore getRangerUserStore(Long lastKnownUserStoreVersion) throws Exception {
 		RangerUserStore ret                   = null;
 		Long        rangerUserStoreVersionInDB = getUserStoreVersion();
diff --git a/security-admin/src/main/java/org/apache/ranger/common/RangerUserStoreCache.java b/security-admin/src/main/java/org/apache/ranger/common/RangerUserStoreCache.java
index 198e3d6..8ffc98c 100644
--- a/security-admin/src/main/java/org/apache/ranger/common/RangerUserStoreCache.java
+++ b/security-admin/src/main/java/org/apache/ranger/common/RangerUserStoreCache.java
@@ -19,6 +19,7 @@
 
 package org.apache.ranger.common;
 
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.authorization.hadoop.config.RangerAdminConfig;
@@ -89,20 +90,14 @@ public class RangerUserStoreCache {
 			if (lockResult) {
 				final Set<UserInfo> rangerUsersInDB = xUserMgr.getUsers();
 				final Set<GroupInfo> rangerGroupsInDB = xUserMgr.getGroups();
-				final Map<String, Set<String>> userGroups = xUserMgr.getUserGroups();
-				/*if (CollectionUtils.isNotEmpty(rangerUsersInDB)) {
+				if (CollectionUtils.isNotEmpty(rangerUsersInDB)) {
 					for (UserInfo userInfo : rangerUsersInDB) {
 						//Get user group mapping from DB and update userInfo object.
 						userInfo.setGroups(xUserMgr.getGroupsForUser(userInfo.getName()));
 					}
-				}*/
-
-				if (LOG.isDebugEnabled()) {
-					LOG.debug("No. of users from DB = " + rangerUsersInDB.size() + " and no. of groups from DB = " + rangerGroupsInDB.size());
-					LOG.debug("No. of userGroupMappings = " + userGroups.size());
 				}
 
-				ret = new RangerUserStore(rangerUserStoreVersionInDB, rangerUsersInDB, rangerGroupsInDB, userGroups);
+				ret = new RangerUserStore(rangerUserStoreVersionInDB, rangerUsersInDB, rangerGroupsInDB);
 				rangerUserStore = ret;
 			} else {
 				if (LOG.isDebugEnabled()) {
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXUserDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXUserDao.java
index 0a9c640..cea90c1 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXUserDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXUserDao.java
@@ -26,8 +26,6 @@ import org.apache.ranger.common.db.BaseDao;
 import org.apache.ranger.entity.XXUser;
 import org.springframework.stereotype.Service;
 
-import java.util.*;
-
 @Service
 public class XXUserDao extends BaseDao<XXUser> {
 	private static final Logger logger = Logger.getLogger(XXResourceDao.class);
@@ -64,28 +62,4 @@ public class XXUserDao extends BaseDao<XXUser> {
 		}
 	}
 
-	public Map<String, Set<String>> findGroupsByUserIds() {
-		Map<String, Set<String>> userGroups = new HashMap<>();
-
-		try {
-			List<Object[]> rows = (List<Object[]>) getEntityManager()
-					.createNamedQuery("XXUser.findGroupsByUserIds")
-					.getResultList();
-			if (rows != null) {
-				for (Object[] row : rows) {
-					if (userGroups.containsKey((String)row[0])) {
-						userGroups.get((String)row[0]).add((String)row[1]);
-					} else {
-						Set<String> groups = new HashSet<>();
-						groups.add((String)row[1]);
-						userGroups.put((String)row[0], groups);
-					}
-				}
-			}
-		} catch (NoResultException e) {
-			//Ignore
-		}
-		return userGroups;
-	}
-
 }
diff --git a/security-admin/src/main/resources/META-INF/jpa_named_queries.xml b/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
index 182a038..f23bf2e 100755
--- a/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
+++ b/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
@@ -127,13 +127,6 @@
 		</query>
 	</named-query>
 
-	<!-- XXGroup -->
-	<named-query name="XXUser.findGroupsByUserIds">
-		<query>SELECT user.name, group.name FROM XXUser user, XXGroup group, XXGroupUser groupUser
-			WHERE user.id=groupUser.userId and group.name=groupUser.name
-		</query>
-	</named-query>
-
 	<!-- XXPermMap -->
 	<named-query name="XXPermMap.findByResourceId">
 		<query>SELECT obj FROM XXPermMap obj WHERE obj.resourceId = :resourceId