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; + } + } + } } }
