-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/75164/
-----------------------------------------------------------
(Updated Aug. 14, 2024, 6:16 p.m.)
Review request for ranger, Kishor Gollapalliwar, madhan, Madhan Neethiraj,
Pradeep Agrawal, Ramesh Mani, Sailaja Polavarapu, Velmurugan Periasamy, and
Vyom Tiwari.
Changes
-------
Added details of the Apache JIRA
Summary (updated)
-----------------
RANGER-4905: Reduce memory needed to create Ranger policy engine
Bugs: RANGER-4905
https://issues.apache.org/jira/browse/RANGER-4905
Repository: ranger
Description (updated)
-------
Ranger policy engine creates a RangerPolicyResourceMatcher object for every
resource specified either in policy or in a tag association.
PolicyResourceMatcher, for the services that have more than one level in their
resource hierarchy, consists of RangerResourceMatcher objects for each level in
the resource-level hierarchy for the resource. In many cases, this leads to
creation of multiple RangerResourceMatchers with identical resource
specification.
This Jira avoids creation of multiple RangerResourceMatcher objects by
maintaining a cache of them in the RangerPluginContext object associated with
the Ranger policy engine, thereby reducing policy engine's memory needs.
Diffs
-----
agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagEnricher.java
2fa24eba6
agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerSecurityZoneValidator.java
360426198
agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerZoneResourceMatcher.java
bf4247660
agents-common/src/main/java/org/apache/ranger/plugin/policyengine/PolicyEngine.java
704434b8e
agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPluginContext.java
5f086ed49
agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEngineOptions.java
f881eaa14
agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerSecurityZoneMatcher.java
822bb3902
agents-common/src/main/java/org/apache/ranger/plugin/policyengine/gds/GdsDataShareEvaluator.java
1c608aa3b
agents-common/src/main/java/org/apache/ranger/plugin/policyengine/gds/GdsPolicyEngine.java
53843136c
agents-common/src/main/java/org/apache/ranger/plugin/policyengine/gds/GdsSharedResourceEvaluator.java
9785d4b25
agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerAbstractPolicyEvaluator.java
07fe6a38d
agents-common/src/main/java/org/apache/ranger/plugin/policyresourcematcher/RangerDefaultPolicyResourceMatcher.java
f16157ce6
agents-common/src/main/java/org/apache/ranger/plugin/policyresourcematcher/RangerPolicyResourceMatcher.java
e1cd89b70
ranger-tools/src/main/java/org/apache/ranger/sizing/RangerMemSizing.java
e4ff6eeca
Diff: https://reviews.apache.org/r/75164/diff/6/
Testing (updated)
-------
Compiled and ran all unit test case successfully.
Tested using dockerized Ranger.
Ran ranger-mem-sizing tool with a large number of tags for Ozone service, and
noticed about 32% less memory used by the policy engine.
Thanks,
Abhay Kulkarni