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);