You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by pr...@apache.org on 2022/06/23 13:33:11 UTC

[ranger] branch master updated: RANGER-3795: Fix java patch J10033 and J10046 failure

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

pradeep 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 81b928c89 RANGER-3795: Fix java patch J10033 and J10046 failure
81b928c89 is described below

commit 81b928c8956e2f8d5bf68d451c74f83abc01c48a
Author: pradeep <pr...@apache.org>
AuthorDate: Fri Jun 17 16:52:56 2022 +0530

    RANGER-3795: Fix java patch J10033 and J10046 failure
---
 .../src/main/java/org/apache/ranger/biz/XUserMgr.java     |  2 +-
 .../patch/PatchForKafkaServiceDefUpdate_J10033.java       | 15 ++++++++++++---
 .../PatchForMigratingOldRegimePolicyJson_J10046.java      | 11 ++++++++++-
 .../ranger/patch/PatchForUpdatingPolicyJson_J10019.java   | 11 ++++++++++-
 4 files changed, 33 insertions(+), 6 deletions(-)

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 4f2527223..9af354d09 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
@@ -2492,7 +2492,7 @@ public class XUserMgr extends XUserMgrBase {
 		}
 	}
 
-	@Transactional(readOnly = false, propagation = Propagation.REQUIRED)
+	@Transactional(readOnly = false, propagation = Propagation.REQUIRES_NEW)
 	public VXUser createServiceConfigUser(String userName){
 		if (userName == null || "null".equalsIgnoreCase(userName) || userName.trim().isEmpty()) {
 			logger.error("User Name: "+userName);
diff --git a/security-admin/src/main/java/org/apache/ranger/patch/PatchForKafkaServiceDefUpdate_J10033.java b/security-admin/src/main/java/org/apache/ranger/patch/PatchForKafkaServiceDefUpdate_J10033.java
index 9302c130f..9f0717a40 100644
--- a/security-admin/src/main/java/org/apache/ranger/patch/PatchForKafkaServiceDefUpdate_J10033.java
+++ b/security-admin/src/main/java/org/apache/ranger/patch/PatchForKafkaServiceDefUpdate_J10033.java
@@ -22,6 +22,7 @@ import org.apache.commons.lang.StringUtils;
 import org.apache.ranger.authorization.utils.JsonUtils;
 import org.apache.ranger.biz.RangerBizUtil;
 import org.apache.ranger.biz.ServiceDBStore;
+import org.apache.ranger.biz.XUserMgr;
 import org.apache.ranger.common.GUIDUtil;
 import org.apache.ranger.common.JSONUtil;
 import org.apache.ranger.common.RangerValidatorFactory;
@@ -96,6 +97,9 @@ public class PatchForKafkaServiceDefUpdate_J10033 extends BaseLoader {
 	@Autowired
 	ServiceDBStore svcStore;
 
+	@Autowired
+	XUserMgr xUserMgr;
+
 	public static void main(String[] args) {
 		logger.info("main()");
 		try {
@@ -349,8 +353,13 @@ public class PatchForKafkaServiceDefUpdate_J10033 extends BaseLoader {
 					}
 					XXUser xxUser = daoMgr.getXXUser().findByUserName(user);
 					if (xxUser == null) {
-						throw new RuntimeException(user + ": user does not exist. policy='" + xxPolicy.getName()
-								+ "' service='" + xxPolicy.getService() + "' user='" + user + "'");
+						logger.info(user +" user is not found, adding user: "+user);
+						xUserMgr.createServiceConfigUser(user);
+						xxUser = daoMgr.getXXUser().findByUserName(user);
+						if (xxUser == null) {
+							throw new RuntimeException(user + ": user does not exist. policy='" + xxPolicy.getName()
+							+ "' service='" + xxPolicy.getService() + "' user='" + user + "'");
+						}
 					}
 					XXPolicyItemUserPerm xUserPerm = new XXPolicyItemUserPerm();
 					xUserPerm.setUserId(xxUser.getId());
@@ -476,4 +485,4 @@ public class PatchForKafkaServiceDefUpdate_J10033 extends BaseLoader {
 		}
 		return rangerPolicyItemAccesses;
 	}
-}
\ No newline at end of file
+}
diff --git a/security-admin/src/main/java/org/apache/ranger/patch/PatchForMigratingOldRegimePolicyJson_J10046.java b/security-admin/src/main/java/org/apache/ranger/patch/PatchForMigratingOldRegimePolicyJson_J10046.java
index 74ea7b2c6..c40280629 100644
--- a/security-admin/src/main/java/org/apache/ranger/patch/PatchForMigratingOldRegimePolicyJson_J10046.java
+++ b/security-admin/src/main/java/org/apache/ranger/patch/PatchForMigratingOldRegimePolicyJson_J10046.java
@@ -29,6 +29,7 @@ import org.apache.commons.lang.StringUtils;
 import org.apache.ranger.authorization.utils.JsonUtils;
 import org.apache.ranger.biz.PolicyRefUpdater;
 import org.apache.ranger.biz.ServiceDBStore;
+import org.apache.ranger.biz.XUserMgr;
 import org.apache.ranger.db.RangerDaoManager;
 import org.apache.ranger.db.XXGroupDao;
 import org.apache.ranger.db.XXPolicyDao;
@@ -95,6 +96,9 @@ public class PatchForMigratingOldRegimePolicyJson_J10046 extends BaseLoader {
 	@Autowired
 	PolicyRefUpdater policyRefUpdater;
 
+	@Autowired
+	XUserMgr xUserMgr;
+
 	private final Map<String, Long>              groupIdMap         = new HashMap<>();
 	private final Map<String, Long>              userIdMap          = new HashMap<>();
 	private final Map<String, Map<String, Long>> resourceNameIdMap  = new HashMap<>();
@@ -333,7 +337,12 @@ public class PatchForMigratingOldRegimePolicyJson_J10046 extends BaseLoader {
 				XXUser userObject = userDao.findByUserName(user);
 
 				if (userObject == null) {
-					throw new Exception(user + ": unknown user in policy [id=" + policyId + "]");
+					logger.info(user +" user is not found, adding user: "+user);
+					xUserMgr.createServiceConfigUser(user);
+					userObject = userDao.findByUserName(user);
+					if (userObject == null) {
+						throw new Exception(user + ": unknown user in policy [id=" + policyId + "]");
+					}
 				}
 
 				userId = userObject.getId();
diff --git a/security-admin/src/main/java/org/apache/ranger/patch/PatchForUpdatingPolicyJson_J10019.java b/security-admin/src/main/java/org/apache/ranger/patch/PatchForUpdatingPolicyJson_J10019.java
index 6dcf3f264..ae6158ab0 100644
--- a/security-admin/src/main/java/org/apache/ranger/patch/PatchForUpdatingPolicyJson_J10019.java
+++ b/security-admin/src/main/java/org/apache/ranger/patch/PatchForUpdatingPolicyJson_J10019.java
@@ -32,6 +32,7 @@ import org.apache.ranger.authorization.utils.JsonUtils;
 import org.apache.ranger.authorization.utils.StringUtil;
 import org.apache.ranger.biz.PolicyRefUpdater;
 import org.apache.ranger.biz.ServiceDBStore;
+import org.apache.ranger.biz.XUserMgr;
 import org.apache.ranger.db.RangerDaoManager;
 import org.apache.ranger.db.XXGroupDao;
 import org.apache.ranger.db.XXPolicyDao;
@@ -119,6 +120,9 @@ public class PatchForUpdatingPolicyJson_J10019 extends BaseLoader {
 	@Autowired
 	PolicyRefUpdater policyRefUpdater;
 
+	@Autowired
+	XUserMgr xUserMgr;
+
 	private final Map<String, Long>              groupIdMap         = new HashMap<>();
 	private final Map<String, Long>              userIdMap          = new HashMap<>();
 	private final Map<String, Map<String, Long>> resourceNameIdMap  = new HashMap<>();
@@ -351,7 +355,12 @@ public class PatchForUpdatingPolicyJson_J10019 extends BaseLoader {
 				XXUser userObject = userDao.findByUserName(user);
 
 				if (userObject == null) {
-					throw new Exception(user + ": unknown user in policy [id=" + policyId + "]");
+					logger.info(user +" user is not found, adding user: "+user);
+					xUserMgr.createServiceConfigUser(user);
+					userObject = userDao.findByUserName(user);
+					if (userObject == null) {
+						throw new Exception(user + ": unknown user in policy [id=" + policyId + "]");
+					}
 				}
 
 				userId = userObject.getId();