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 b056991  RANGER-3621: optimise resource usage while loading tags and 
policies from database
b056991 is described below

commit b0569918c2f36cd0a9c8acc232ce9cd24e275309
Author: Ankita Sinha <[email protected]>
AuthorDate: Tue Feb 15 18:01:35 2022 +0530

    RANGER-3621: optimise resource usage while loading tags and policies from 
database
    
    Signed-off-by: Madhan Neethiraj <[email protected]>
---
 .../java/org/apache/ranger/biz/RangerPolicyRetriever.java   |  2 ++
 .../java/org/apache/ranger/biz/RangerTagDBRetriever.java    | 13 ++++++-------
 2 files changed, 8 insertions(+), 7 deletions(-)

diff --git 
a/security-admin/src/main/java/org/apache/ranger/biz/RangerPolicyRetriever.java 
b/security-admin/src/main/java/org/apache/ranger/biz/RangerPolicyRetriever.java
index 4a8a5ee..238fecd 100644
--- 
a/security-admin/src/main/java/org/apache/ranger/biz/RangerPolicyRetriever.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/biz/RangerPolicyRetriever.java
@@ -523,6 +523,8 @@ public class RangerPolicyRetriever {
                        if (service != null && iterPolicy != null && 
iterPolicy.hasNext()) {
                                XXPolicy xPolicy = iterPolicy.next();
 
+                               iterPolicy.remove();
+
                                if (xPolicy != null) {
                                        String policyText = 
xPolicy.getPolicyText();
 
diff --git 
a/security-admin/src/main/java/org/apache/ranger/biz/RangerTagDBRetriever.java 
b/security-admin/src/main/java/org/apache/ranger/biz/RangerTagDBRetriever.java
index 1b7e8b2..c6b8ab9 100644
--- 
a/security-admin/src/main/java/org/apache/ranger/biz/RangerTagDBRetriever.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/biz/RangerTagDBRetriever.java
@@ -156,11 +156,8 @@ public class RangerTagDBRetriever {
        private boolean initializeTagCache(XXService xService) {
                boolean ret;
                try {
-                       TagRetrieverServiceResourceContext  
serviceResourceContext  = new TagRetrieverServiceResourceContext(xService);
-                       TagRetrieverTagDefContext           tagDefContext       
    = new TagRetrieverTagDefContext(xService);
-
-                       serviceResources    = 
serviceResourceContext.getAllServiceResources();
-                       tagDefs             = tagDefContext.getAllTagDefs();
+                       serviceResources = new 
TagRetrieverServiceResourceContext(xService).getAllServiceResources();
+                       tagDefs          = new 
TagRetrieverTagDefContext(xService).getAllTagDefs();
 
                        ret = true;
                } catch (Exception ex) {
@@ -270,7 +267,6 @@ public class RangerTagDBRetriever {
                                        ret.add(serviceResource);
                                }
                        }
-
                        return ret;
                }
 
@@ -280,6 +276,8 @@ public class RangerTagDBRetriever {
                        if (iterServiceResource.hasNext()) {
                                XXServiceResource xServiceResource = 
iterServiceResource.next();
 
+                               iterServiceResource.remove();
+
                                if (xServiceResource != null && 
StringUtils.isNotEmpty(xServiceResource.getTags())) {
                                        ret = new RangerServiceResource();
 
@@ -330,7 +328,6 @@ public class RangerTagDBRetriever {
                                        ret.put(tagDef.getId(), tagDef);
                                }
                        }
-
                        return ret;
                }
 
@@ -340,6 +337,8 @@ public class RangerTagDBRetriever {
                        if (iterTagDef.hasNext()) {
                                XXTagDef xTagDef = iterTagDef.next();
 
+                               iterTagDef.remove();
+
                                if (xTagDef != null) {
                                        ret = new RangerTagDef();
 

Reply via email to