This is an automated email from the ASF dual-hosted git repository.

madhan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ranger.git


The following commit(s) were added to refs/heads/master by this push:
     new 7a4a87155 RANGER-4004: During the service deletion also, we can clear 
the in-memory cache for that service which got deleted on the ranger side
7a4a87155 is described below

commit 7a4a871559ad2518a99b7d3a08d55f29ff408613
Author: Ramachandran Krishnan <[email protected]>
AuthorDate: Fri Dec 9 08:59:16 2022 +0530

    RANGER-4004: During the service deletion also, we can clear the in-memory 
cache for that service which got deleted on the ranger side
    
    Signed-off-by: Madhan Neethiraj <[email protected]>
---
 .../src/main/java/org/apache/ranger/biz/ServiceDBStore.java |  7 +++++++
 .../test/java/org/apache/ranger/biz/TestServiceDBStore.java | 13 +++++++++++--
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git 
a/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java 
b/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
index 28f36d46b..6b9604817 100644
--- a/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
@@ -335,6 +335,9 @@ public class ServiceDBStore extends AbstractServiceStore {
        @Autowired
        RoleDBStore roleStore;
 
+       @Autowired
+       TagDBStore tagStore;
+
        @Autowired
        RangerRoleService roleService;
 
@@ -1817,6 +1820,10 @@ public class ServiceDBStore extends AbstractServiceStore 
{
 
                List<XXTrxLog> trxLogList = 
svcService.getTransactionLog(service, 
RangerServiceService.OPERATION_DELETE_CONTEXT);
                bizUtil.createTrxLog(trxLogList);
+               //During the servie deletion ,we need to clear the 
RangerServicePoliciesCache,RangerServiceTagsCache for the given serviceName.
+               resetPolicyCache(service.getName());
+               tagStore.resetTagCache(service.getName());
+
        }
 
        private void updateTabPermissions(String svcType, Map<String, String> 
svcConfig) {
diff --git 
a/security-admin/src/test/java/org/apache/ranger/biz/TestServiceDBStore.java 
b/security-admin/src/test/java/org/apache/ranger/biz/TestServiceDBStore.java
index a80f12efb..7f1ec6d3e 100644
--- a/security-admin/src/test/java/org/apache/ranger/biz/TestServiceDBStore.java
+++ b/security-admin/src/test/java/org/apache/ranger/biz/TestServiceDBStore.java
@@ -17,6 +17,8 @@
 
 package org.apache.ranger.biz;
 
+import static org.mockito.ArgumentMatchers.anyString;
+
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
@@ -154,6 +156,10 @@ public class TestServiceDBStore {
        @Mock
        GUIDUtil guidUtil;
 
+       @Mock
+       TagDBStore tagStore;
+
+
        @Rule
        public ExpectedException thrown = ExpectedException.none();
 
@@ -1402,8 +1408,11 @@ public class TestServiceDBStore {
                
Mockito.when(daoManager.getXXRMSServiceResource()).thenReturn(xRMSServiceResourceDao);
 
                Mockito.when(!bizUtil.hasAccess(xService, 
null)).thenReturn(true);
-        serviceDBStore.deleteService(Id);
+               
Mockito.when(tagStore.resetTagCache(rangerService.getName())).thenReturn(true);
+
+               serviceDBStore.deleteService(Id);
                Mockito.verify(svcService).delete(rangerService);
+               Mockito.verify(tagStore).resetTagCache(rangerService.getName());
        }
 
        @Test
@@ -2323,7 +2332,7 @@ public void test42getMetricByTypeaudits() throws 
Exception {
     Date date = new Date();
     date.setYear(2018);
 
-    Mockito.when(restErrorUtil.parseDate(Mockito.anyString(), 
Mockito.anyString(), Mockito.any(), Mockito.any(), Mockito.anyString(), 
Mockito.anyString())).thenReturn(date);
+    Mockito.when(restErrorUtil.parseDate(anyString(), anyString(), 
Mockito.any(), Mockito.any(), anyString(), anyString())).thenReturn(date);
     RangerServiceDefList svcDefList = new RangerServiceDefList();
     svcDefList.setTotalCount(10l);
     
Mockito.when(serviceDefService.searchRangerServiceDefs(Mockito.any(SearchFilter.class))).thenReturn(svcDefList);

Reply via email to