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