RANGER-2196:Ensure that any explicit threads used by Ranger are marked as daemon threads
Project: http://git-wip-us.apache.org/repos/asf/ranger/repo Commit: http://git-wip-us.apache.org/repos/asf/ranger/commit/d4b5722d Tree: http://git-wip-us.apache.org/repos/asf/ranger/tree/d4b5722d Diff: http://git-wip-us.apache.org/repos/asf/ranger/diff/d4b5722d Branch: refs/heads/ranger-1.1 Commit: d4b5722d7b812fb18c46edf8e81d06e0f169c6a7 Parents: e8c5935 Author: Abhay Kulkarni <[email protected]> Authored: Wed Aug 22 17:38:46 2018 -0700 Committer: Mehul Parikh <[email protected]> Committed: Tue Sep 4 11:50:45 2018 +0530 ---------------------------------------------------------------------- .../java/org/apache/ranger/audit/provider/LocalFileLogBuffer.java | 2 ++ .../apache/ranger/plugin/policyengine/RangerPolicyRepository.java | 3 +++ .../java/org/apache/ranger/plugin/util/RangerResourceTrie.java | 1 + .../main/java/org/apache/ranger/biz/RangerPolicyRetriever.java | 1 + .../src/main/java/org/apache/ranger/biz/RangerTagDBRetriever.java | 1 + .../apache/ranger/authentication/UnixAuthenticationService.java | 2 ++ 6 files changed, 10 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ranger/blob/d4b5722d/agents-audit/src/main/java/org/apache/ranger/audit/provider/LocalFileLogBuffer.java ---------------------------------------------------------------------- diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/provider/LocalFileLogBuffer.java b/agents-audit/src/main/java/org/apache/ranger/audit/provider/LocalFileLogBuffer.java index 8a14394..769b86c 100644 --- a/agents-audit/src/main/java/org/apache/ranger/audit/provider/LocalFileLogBuffer.java +++ b/agents-audit/src/main/java/org/apache/ranger/audit/provider/LocalFileLogBuffer.java @@ -144,6 +144,8 @@ public class LocalFileLogBuffer<T> implements LogBuffer<T> { mDispatcherThread = new DestinationDispatcherThread<T>(this, destination, mLogger); + mDispatcherThread.setDaemon(true); + mDispatcherThread.start(); mLogger.debug("<== LocalFileLogBuffer.start()"); http://git-wip-us.apache.org/repos/asf/ranger/blob/d4b5722d/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyRepository.java ---------------------------------------------------------------------- diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyRepository.java b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyRepository.java index f1b9764..f64e773 100644 --- a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyRepository.java +++ b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyRepository.java @@ -680,6 +680,9 @@ class RangerPolicyRepository { } } } + if (LOG.isInfoEnabled()) { + LOG.info("This policy engine contains " + (policyEvaluators.size()+dataMaskPolicyEvaluators.size()+rowFilterPolicyEvaluators.size()) + " policy evaluators"); + } RangerPolicyEvaluator.PolicyEvalOrderComparator comparator = new RangerPolicyEvaluator.PolicyEvalOrderComparator(); Collections.sort(policyEvaluators, comparator); this.policyEvaluators = Collections.unmodifiableList(policyEvaluators); http://git-wip-us.apache.org/repos/asf/ranger/blob/d4b5722d/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java ---------------------------------------------------------------------- diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java index 9c7c775..a2d52a0 100644 --- a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java +++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java @@ -170,6 +170,7 @@ public class RangerResourceTrie<T extends RangerPolicyResourceEvaluator> { builderThreads = new ArrayList<>(); for (int i = 0; i < builderThreadCount; i++) { ResourceTrieBuilderThread t = new ResourceTrieBuilderThread(isOptimizedForRetrieval); + t.setDaemon(true); builderThreads.add(t); t.start(); } http://git-wip-us.apache.org/repos/asf/ranger/blob/d4b5722d/security-admin/src/main/java/org/apache/ranger/biz/RangerPolicyRetriever.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/biz/RangerPolicyRetriever.java b/security-admin/src/main/java/org/apache/ranger/biz/RangerPolicyRetriever.java index efbdfdf..c26f0a5 100644 --- a/security-admin/src/main/java/org/apache/ranger/biz/RangerPolicyRetriever.java +++ b/security-admin/src/main/java/org/apache/ranger/biz/RangerPolicyRetriever.java @@ -178,6 +178,7 @@ public class RangerPolicyRetriever { } PolicyLoaderThread t = new PolicyLoaderThread(txTemplate, xService); + t.setDaemon(true); t.start(); try { t.join(); http://git-wip-us.apache.org/repos/asf/ranger/blob/d4b5722d/security-admin/src/main/java/org/apache/ranger/biz/RangerTagDBRetriever.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/biz/RangerTagDBRetriever.java b/security-admin/src/main/java/org/apache/ranger/biz/RangerTagDBRetriever.java index e5e9572..7875bc2 100644 --- a/security-admin/src/main/java/org/apache/ranger/biz/RangerTagDBRetriever.java +++ b/security-admin/src/main/java/org/apache/ranger/biz/RangerTagDBRetriever.java @@ -98,6 +98,7 @@ public class RangerTagDBRetriever { } TagLoaderThread t = new TagLoaderThread(txTemplate, xService); + t.setDaemon(true); t.start(); try { t.join(); http://git-wip-us.apache.org/repos/asf/ranger/blob/d4b5722d/unixauthservice/src/main/java/org/apache/ranger/authentication/UnixAuthenticationService.java ---------------------------------------------------------------------- diff --git a/unixauthservice/src/main/java/org/apache/ranger/authentication/UnixAuthenticationService.java b/unixauthservice/src/main/java/org/apache/ranger/authentication/UnixAuthenticationService.java index 45834f4..1ee5e21 100644 --- a/unixauthservice/src/main/java/org/apache/ranger/authentication/UnixAuthenticationService.java +++ b/unixauthservice/src/main/java/org/apache/ranger/authentication/UnixAuthenticationService.java @@ -131,6 +131,8 @@ public class UnixAuthenticationService { UserGroupSync syncProc = new UserGroupSync(); Thread newSyncProcThread = new Thread(syncProc); newSyncProcThread.setName("UnixUserSyncThread"); + // If this thread is set as daemon, then the entire process will terminate if enableUnixAuth is false + // Therefore this is marked as non-daemon thread. Don't change the following line newSyncProcThread.setDaemon(false); newSyncProcThread.start(); }
