This is an automated email from the ASF dual-hosted git repository. madhan pushed a commit to branch ranger-2.6 in repository https://gitbox.apache.org/repos/asf/ranger.git
commit 721c41a28177c76b9b16e8218130ff424d09d2f3 Author: Abhay Kulkarni <[email protected]> AuthorDate: Tue Sep 24 10:21:22 2024 -0700 RANGER-4938: Ensure that only one instance of Ranger plugin is created in an Ozone Manager process (cherry picked from commit 4f297c35bab531877890a3e0a1c460a2eb3becd2) --- .../ozone/authorizer/RangerOzoneAuthorizer.java | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/plugin-ozone/src/main/java/org/apache/ranger/authorization/ozone/authorizer/RangerOzoneAuthorizer.java b/plugin-ozone/src/main/java/org/apache/ranger/authorization/ozone/authorizer/RangerOzoneAuthorizer.java index f67e182bd..3bd17d52f 100644 --- a/plugin-ozone/src/main/java/org/apache/ranger/authorization/ozone/authorizer/RangerOzoneAuthorizer.java +++ b/plugin-ozone/src/main/java/org/apache/ranger/authorization/ozone/authorizer/RangerOzoneAuthorizer.java @@ -60,11 +60,23 @@ public class RangerOzoneAuthorizer implements IAccessAuthorizer { RangerDefaultAuditHandler auditHandler = null; public RangerOzoneAuthorizer() { - rangerPlugin = new RangerBasePlugin("ozone", "ozone"); + RangerBasePlugin plugin = rangerPlugin; - rangerPlugin.init(); // this will initialize policy engine and policy refresher - auditHandler = new RangerDefaultAuditHandler(); - rangerPlugin.setResultProcessor(auditHandler); + if (plugin == null) { + synchronized (RangerOzoneAuthorizer.class) { + plugin = rangerPlugin; + + if (plugin == null) { + plugin = new RangerBasePlugin("ozone", "ozone"); + plugin.init(); // this will initialize policy engine and policy refresher + + auditHandler = new RangerDefaultAuditHandler(); + plugin.setResultProcessor(auditHandler); + + rangerPlugin = plugin; + } + } + } } @Override
