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);