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 d9179c25c RANGER-4208: added debug logs to trace time taken to load 
policies/users/roles from database
d9179c25c is described below

commit d9179c25c1eee0a10cc8d37f21688efa71434964
Author: Ramachandran Krishnan <[email protected]>
AuthorDate: Tue Apr 25 17:04:27 2023 +0530

    RANGER-4208: added debug logs to trace time taken to load 
policies/users/roles from database
    
    Signed-off-by: Madhan Neethiraj <[email protected]>
---
 .../src/main/java/org/apache/ranger/common/RangerRoleCache.java   | 8 ++++++--
 .../java/org/apache/ranger/common/RangerServicePoliciesCache.java | 5 +++++
 .../java/org/apache/ranger/common/RangerServiceTagsCache.java     | 4 ++++
 .../main/java/org/apache/ranger/common/RangerUserStoreCache.java  | 4 +++-
 4 files changed, 18 insertions(+), 3 deletions(-)

diff --git 
a/security-admin/src/main/java/org/apache/ranger/common/RangerRoleCache.java 
b/security-admin/src/main/java/org/apache/ranger/common/RangerRoleCache.java
index f44f0765d..933104a16 100644
--- a/security-admin/src/main/java/org/apache/ranger/common/RangerRoleCache.java
+++ b/security-admin/src/main/java/org/apache/ranger/common/RangerRoleCache.java
@@ -106,12 +106,16 @@ public class RangerRoleCache {
 
                                if (lockResult) {
                                        // We are getting all the Roles to be 
downloaded for now. Should do downloades for each service based on what roles 
are there in the policies.
+                                       final long            startTimeMs  = 
System.currentTimeMillis();
                                        SearchFilter          searchFilter = 
null;
                                        final Set<RangerRole> rolesInDB    = 
new HashSet<>(roleDBStore.getRoles(searchFilter));
-
-                                       Date updateTime = new Date();
+                                       final long            dbLoadTimeMs = 
System.currentTimeMillis() - startTimeMs;
+                                       Date                  updateTime   = 
new Date();
 
                                        if (rolesInDB != null) {
+                                               if (LOG.isDebugEnabled()) {
+                                                       LOG.debug("loading 
Roles from database and it took:" + 
TimeUnit.MILLISECONDS.toSeconds(dbLoadTimeMs) + " seconds");
+                                               }
                                                ret = new RangerRoles();
 
                                                ret.setRangerRoles(rolesInDB);
diff --git 
a/security-admin/src/main/java/org/apache/ranger/common/RangerServicePoliciesCache.java
 
b/security-admin/src/main/java/org/apache/ranger/common/RangerServicePoliciesCache.java
index 21f06834d..70d01e57e 100644
--- 
a/security-admin/src/main/java/org/apache/ranger/common/RangerServicePoliciesCache.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/common/RangerServicePoliciesCache.java
@@ -322,9 +322,14 @@ public class RangerServicePoliciesCache {
                                if (dbLoadTime > longestDbLoadTimeInMs) {
                                        longestDbLoadTimeInMs = dbLoadTime;
                                }
+
                                updateTime = new Date();
 
                                if (servicePoliciesFromDb != null) {
+                                       if (LOG.isDebugEnabled()) {
+                                               LOG.debug("loading 
servicePolicies from database and it took:" + 
TimeUnit.MILLISECONDS.toSeconds(dbLoadTime) + " seconds");
+                                       }
+
                                        if (dedupStrings) {
                                                
servicePoliciesFromDb.dedupStrings();
                                        }
diff --git 
a/security-admin/src/main/java/org/apache/ranger/common/RangerServiceTagsCache.java
 
b/security-admin/src/main/java/org/apache/ranger/common/RangerServiceTagsCache.java
index 05850ed6e..2aecc4388 100644
--- 
a/security-admin/src/main/java/org/apache/ranger/common/RangerServiceTagsCache.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/common/RangerServiceTagsCache.java
@@ -343,6 +343,10 @@ public class RangerServiceTagsCache {
                                updateTime = new Date();
 
                                if (serviceTagsFromDb != null) {
+                                       if (LOG.isDebugEnabled()) {
+                                               LOG.debug("loading serviceTags 
from database and it took:" + TimeUnit.MILLISECONDS.toSeconds(dbLoadTime) + " 
seconds");
+                                       }
+
                                        if (dedupStrings) {
                                                
serviceTagsFromDb.dedupStrings();
                                        }
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 2b331f3c2..d4fa30419 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
@@ -83,14 +83,16 @@ public class RangerUserStoreCache {
 
                                if (!Objects.equals(cachedUserStoreVersion, 
dbUserStoreVersion)) {
                                        LOG.info("RangerUserStoreCache 
refreshing from version " + cachedUserStoreVersion + " to " + 
dbUserStoreVersion);
-
+                                       final long                     
startTimeMs      = System.currentTimeMillis();
                                        final Set<UserInfo>            
rangerUsersInDB  = xUserMgr.getUsers();
                                        final Set<GroupInfo>           
rangerGroupsInDB = xUserMgr.getGroups();
                                        final Map<String, Set<String>> 
userGroups       = xUserMgr.getUserGroups();
+                                       final long                     
dbLoadTime       = System.currentTimeMillis() - startTimeMs;
 
                                        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());
+                                               LOG.debug("loading Users from 
database and it took:" + TimeUnit.MILLISECONDS.toSeconds(dbLoadTime) + " 
seconds");
                                        }
 
                                        RangerUserStore rangerUserStore = new 
RangerUserStore(dbUserStoreVersion, rangerUsersInDB, rangerGroupsInDB, 
userGroups);

Reply via email to