This is an automated email from the ASF dual-hosted git repository.

madhan pushed a commit to branch ranger-2.8
in repository https://gitbox.apache.org/repos/asf/ranger.git

commit b769f6a0c1dcafba44f907262d77b9c5211732ea
Author: Fateh Singh <[email protected]>
AuthorDate: Fri Sep 12 11:10:04 2025 -0700

    RANGER-5319: Add sleep for passive tagsync to avoid cpu usage (#664)
    
    (cherry picked from commit 24a47ce8a96005a12a8bf9d8b1f09a48a2b8ed94)
---
 .../org/apache/ranger/tagsync/process/TagSyncConfig.java   |  9 +++++++++
 .../ranger/tagsync/sink/tagadmin/TagAdminRESTSink.java     | 13 ++++++++++++-
 .../apache/ranger/tagsync/source/atlas/AtlasTagSource.java | 14 +++++++++++++-
 3 files changed, 34 insertions(+), 2 deletions(-)

diff --git 
a/tagsync/src/main/java/org/apache/ranger/tagsync/process/TagSyncConfig.java 
b/tagsync/src/main/java/org/apache/ranger/tagsync/process/TagSyncConfig.java
index 87b655df5..8e88b0500 100644
--- a/tagsync/src/main/java/org/apache/ranger/tagsync/process/TagSyncConfig.java
+++ b/tagsync/src/main/java/org/apache/ranger/tagsync/process/TagSyncConfig.java
@@ -102,6 +102,7 @@ public class TagSyncConfig extends Configuration {
        public  static final int  
DEFAULT_TAGSYNC_ATLASREST_SOURCE_ENTITIES_BATCH_SIZE = 10000;
        private static final long 
DEFAULT_TAGSYNC_FILESOURCE_MOD_TIME_CHECK_INTERVAL = 60000;
        private static final long 
DEFAULT_TAGSYNC_SOURCE_RETRY_INITIALIZATION_INTERVAL = 10000;
+       private static final long DEFAULT_TAGSYNC_HA_PASSIVE_SLEEP_INTERVAL     
       = 5000;
 
        private static final String AUTH_TYPE = 
"hadoop.security.authentication";
        private static final String NAME_RULES = 
"hadoop.security.auth_to_local";
@@ -228,6 +229,14 @@ synchronized static public boolean 
isTagSyncServiceActive() {
                return 
TagSyncHAInitializerImpl.getInstance(TagSyncConfig.getInstance()).isActive();
        }
 
+       public boolean isTagSyncHAEnabled() {
+               return this.getBoolean(TAGSYNC_SERVER_HA_ENABLED_PARAM, false);
+       }
+
+       public static long getTagSyncHAPassiveSleepInterval() {
+               return DEFAULT_TAGSYNC_HA_PASSIVE_SLEEP_INTERVAL;
+       }
+
        @Override
        public String toString() {
                StringBuilder sb = new StringBuilder();
diff --git 
a/tagsync/src/main/java/org/apache/ranger/tagsync/sink/tagadmin/TagAdminRESTSink.java
 
b/tagsync/src/main/java/org/apache/ranger/tagsync/sink/tagadmin/TagAdminRESTSink.java
index d657dfe6a..692e89de8 100644
--- 
a/tagsync/src/main/java/org/apache/ranger/tagsync/sink/tagadmin/TagAdminRESTSink.java
+++ 
b/tagsync/src/main/java/org/apache/ranger/tagsync/sink/tagadmin/TagAdminRESTSink.java
@@ -391,11 +391,22 @@ public void run() {
                                                        
Thread.sleep(rangerAdminConnectionCheckInterval);
                                                }
                                        } while (doRetry);
-
                                } catch (InterruptedException exception) {
                                        LOG.error("Interrupted..: ", exception);
                                        return;
                                }
+                       } else {
+                               // Only sleep when HA is enabled, similar to 
user sync
+                               if 
(TagSyncConfig.getInstance().isTagSyncHAEnabled()) {
+                                       try {
+                                               long sleepInterval = 
TagSyncConfig.getTagSyncHAPassiveSleepInterval();
+                                               LOG.debug("Sleeping for [{}] 
milliSeconds as this server is running in passive mode", sleepInterval);
+                                               Thread.sleep(sleepInterval);
+                                       } catch (InterruptedException 
interrupted) {
+                                               LOG.error("Interrupted..: ", 
interrupted);
+                                               return;
+                                       }
+                               }
                        }
                }
 
diff --git 
a/tagsync/src/main/java/org/apache/ranger/tagsync/source/atlas/AtlasTagSource.java
 
b/tagsync/src/main/java/org/apache/ranger/tagsync/source/atlas/AtlasTagSource.java
index 2cc6750d2..7cd2b3849 100644
--- 
a/tagsync/src/main/java/org/apache/ranger/tagsync/source/atlas/AtlasTagSource.java
+++ 
b/tagsync/src/main/java/org/apache/ranger/tagsync/source/atlas/AtlasTagSource.java
@@ -251,7 +251,19 @@ public void run() {
                                                return;
                                        }
                                }
-                         }
+                       } else {
+                               // Only sleep when HA is enabled, similar to 
user sync
+                               if 
(TagSyncConfig.getInstance().isTagSyncHAEnabled()) {
+                                       try {
+                                               long sleepInterval = 
TagSyncConfig.getTagSyncHAPassiveSleepInterval();
+                                               LOG.debug("Sleeping for [{}] 
milliSeconds as this server is running in passive mode", sleepInterval);
+                                               Thread.sleep(sleepInterval);
+                                       } catch (InterruptedException 
interrupted) {
+                                               LOG.error("Interrupted..: ", 
interrupted);
+                                               return;
+                                       }
+                               }
+                       }
                        }
                }
 

Reply via email to