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