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 <[email protected]>
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();