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/04 00:08:11 UTC

[ranger] branch master updated: RANGER-4208: added debug logs to trace time taken to load policies/users/roles from database

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 <ra...@gmail.com>
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 <ma...@apache.org>
---
 .../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);