----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/75359/#review227274 -----------------------------------------------------------
agents-common/src/main/java/org/apache/ranger/plugin/store/AbstractPredicateUtil.java Lines 359 (patched) <https://reviews.apache.org/r/75359/#comment315513> policyName => policyNamePrefix security-admin/src/main/java/org/apache/ranger/rest/PublicAPIsv2.java Lines 702 (patched) <https://reviews.apache.org/r/75359/#comment315514> Retrieving only policies for `serviceName` from `serviceREST.getPolicies(request)` will avoid the need to apply the filter after retrieval. ``` public List<Long> deletePolicies(@Context HttpServletRequest request) { if (StringUtils.isBlank(request.getParameter(SearchFilter.SERVICE_NAME)) { throw restErrorUtil.createRESTException(HttpServletResponse.SC_BAD_REQUEST, SearchFilter.SERVICE_NAME + " not specified", true); } RangerPolicyList policies = serviceREST.getPolicies(request); ... } ``` security-admin/src/main/java/org/apache/ranger/rest/PublicAPIsv2.java Lines 703 (patched) <https://reviews.apache.org/r/75359/#comment315517> `serviceREST.getPolicies(request)` would return a upto 250 policies by default. To retrieve all matching policies, consider calling `ServiceDBStore.getPolicies(filter)` from here, similar to from `ServiceREST.getPolicies(request)`. security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java Lines 3206 (patched) <https://reviews.apache.org/r/75359/#comment315515> Consider avoiding repeated calls to `svcStore.isServiceAdminUser()` and `serviceMgr.isZoneAdmin(` by caching their results. security-admin/src/main/java/org/apache/ranger/service/RangerPolicyService.java Lines 34 (patched) <https://reviews.apache.org/r/75359/#comment315516> Where is this new method, `populateViewBean(XXPolicy, XXService)`, called from? - Madhan Neethiraj On March 3, 2025, 11:21 a.m., Guru Thejus Arveti wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/75359/ > ----------------------------------------------------------- > > (Updated March 3, 2025, 11:21 a.m.) > > > Review request for ranger. > > > Repository: ranger > > > Description > ------- > > API to delete multiple policies using a wildcard > > > Diffs > ----- > > > agents-common/src/main/java/org/apache/ranger/plugin/store/AbstractPredicateUtil.java > b4d549df7 > agents-common/src/main/java/org/apache/ranger/plugin/util/SearchFilter.java > 5a5556a2f > security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java > 7beef34c7 > security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java > 6833048e6 > security-admin/src/main/java/org/apache/ranger/rest/PublicAPIsv2.java > 7b1eb7fe7 > security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java > f7c521111 > > security-admin/src/main/java/org/apache/ranger/service/RangerPolicyService.java > 193face94 > security-admin/src/test/java/org/apache/ranger/biz/TestServiceDBStore.java > 7747e327a > > > Diff: https://reviews.apache.org/r/75359/diff/3/ > > > Testing > ------- > > Locally tested using docker by bulk creating ~10k policies and deleting them > by using the API. Time to execution ~25-30sec > > > Thanks, > > Guru Thejus Arveti > >