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

Reply via email to