You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ma...@apache.org on 2023/05/11 14:11:46 UTC
[ranger] branch master updated: RANGER-4235: security-zone persistence optimized to avoid creation of unnecessary ref table entries
This is an automated email from the ASF dual-hosted git repository.
madhan 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 54a2cd0a4 RANGER-4235: security-zone persistence optimized to avoid creation of unnecessary ref table entries
54a2cd0a4 is described below
commit 54a2cd0a452aa8eeb3e54b3ba4a1ca6150b79791
Author: Madhan Neethiraj <ma...@apache.org>
AuthorDate: Thu May 11 00:49:07 2023 -0700
RANGER-4235: security-zone persistence optimized to avoid creation of unnecessary ref table entries
---
.../apache/ranger/biz/SecurityZoneRefUpdater.java | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/security-admin/src/main/java/org/apache/ranger/biz/SecurityZoneRefUpdater.java b/security-admin/src/main/java/org/apache/ranger/biz/SecurityZoneRefUpdater.java
index 4cfe62701..ebc26528c 100644
--- a/security-admin/src/main/java/org/apache/ranger/biz/SecurityZoneRefUpdater.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/SecurityZoneRefUpdater.java
@@ -125,6 +125,8 @@ public class SecurityZoneRefUpdater {
daoMgr.getXXSecurityZoneRefService().create(xZoneService);
+ Set<String> resourceDefNames = new HashSet<>();
+
for(Map<String, List<String>> resourceMap:service.getValue().getResources()){//add all resourcedefs in pre defined set
for(Map.Entry<String, List<String>> resource : resourceMap.entrySet()) {
String resourceName = resource.getKey();
@@ -132,16 +134,20 @@ public class SecurityZoneRefUpdater {
continue;
}
- XXResourceDef xResourceDef = daoMgr.getXXResourceDef().findByNameAndServiceDefId(resourceName, xServiceDef.getId());
+ resourceDefNames.add(resourceName);
+ }
+ }
- XXSecurityZoneRefResource xZoneResource = rangerAuditFields.populateAuditFieldsForCreate(new XXSecurityZoneRefResource());
+ for (String resourceName : resourceDefNames) {
+ XXResourceDef xResourceDef = daoMgr.getXXResourceDef().findByNameAndServiceDefId(resourceName, xServiceDef.getId());
- xZoneResource.setZoneId(zoneId);
- xZoneResource.setResourceDefId(xResourceDef.getId());
- xZoneResource.setResourceName(resourceName);
+ XXSecurityZoneRefResource xZoneResource = rangerAuditFields.populateAuditFieldsForCreate(new XXSecurityZoneRefResource());
- daoMgr.getXXSecurityZoneRefResource().create(xZoneResource);
- }
+ xZoneResource.setZoneId(zoneId);
+ xZoneResource.setResourceDefId(xResourceDef.getId());
+ xZoneResource.setResourceName(resourceName);
+
+ daoMgr.getXXSecurityZoneRefResource().create(xZoneResource);
}
}