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

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


The following commit(s) were added to refs/heads/RANGER-3923 by this push:
     new 1ea1b0cfb RANGER-4522: fixed NPE in RangerGdsInfoRefresher.run()
1ea1b0cfb is described below

commit 1ea1b0cfb4d9fe7bdf84cee0fec0856871812928
Author: Madhan Neethiraj <mad...@apache.org>
AuthorDate: Thu Nov 9 09:29:36 2023 -0800

    RANGER-4522: fixed NPE in RangerGdsInfoRefresher.run()
---
 .../ranger/plugin/contextenricher/RangerGdsEnricher.java | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerGdsEnricher.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerGdsEnricher.java
index 8a7936766..8d4da5b1e 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerGdsEnricher.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerGdsEnricher.java
@@ -197,12 +197,12 @@ public class RangerGdsEnricher extends 
RangerAbstractContextEnricher {
         }
 
         final void startRefresher() {
-            super.start();
-
             try {
                 downloadTimer = new Timer("gdsInfoDownloadTimer", true);
                 downloadQueue = new LinkedBlockingQueue<>();
 
+                super.start();
+
                 downloadTimer.schedule(new DownloaderTask(downloadQueue), 
pollingIntervalMs, pollingIntervalMs);
 
                 if (LOG.isDebugEnabled()) {
@@ -212,8 +212,7 @@ public class RangerGdsEnricher extends 
RangerAbstractContextEnricher {
                 LOG.error("Error scheduling gdsInfo download", exception);
                 LOG.error("*** GdsInfo will NOT be downloaded every " + 
pollingIntervalMs + " milliseconds ***");
 
-                downloadTimer = null;
-                downloadQueue = null;
+                stopRefresher();
             }
         }
 
@@ -259,9 +258,16 @@ public class RangerGdsEnricher extends 
RangerAbstractContextEnricher {
         @Override
         public void run() {
             while (true) {
-                DownloadTrigger trigger = null;
+                BlockingQueue<DownloadTrigger> downloadQueue = 
this.downloadQueue;
+                DownloadTrigger                trigger       = null;
 
                 try {
+                    if (downloadQueue == null) {
+                        LOG.error("RangerGdsInfoRefresher(serviceName=" + 
serviceName + ").run(): downloadQueue is null");
+
+                        break;
+                    }
+
                     trigger = downloadQueue.take();
 
                     populateGdsInfo();

Reply via email to