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

hsluoyz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/casbin-jcasbin.git


The following commit(s) were added to refs/heads/master by this push:
     new b63b9c6  fix: make matched domain view cache safe for concurrent reads
b63b9c6 is described below

commit b63b9c651171b55c451709a7c6eb10e4026ff096
Author: Yang Luo <[email protected]>
AuthorDate: Mon Oct 26 21:18:44 2026 +0800

    fix: make matched domain view cache safe for concurrent reads
---
 src/main/java/org/casbin/jcasbin/rbac/ConditionalDomainManager.java | 3 ++-
 src/main/java/org/casbin/jcasbin/rbac/DomainManager.java            | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git 
a/src/main/java/org/casbin/jcasbin/rbac/ConditionalDomainManager.java 
b/src/main/java/org/casbin/jcasbin/rbac/ConditionalDomainManager.java
index db4e3e6..1580d24 100644
--- a/src/main/java/org/casbin/jcasbin/rbac/ConditionalDomainManager.java
+++ b/src/main/java/org/casbin/jcasbin/rbac/ConditionalDomainManager.java
@@ -24,6 +24,7 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.function.BiPredicate;
 import java.util.function.Function;
 
@@ -105,7 +106,7 @@ public class ConditionalDomainManager extends 
ConditionalRoleManager {
     public void clear() {
         super.clear();
         this.rmMap = new HashMap<>();
-        this.matchedRmMap = new HashMap<>();
+        this.matchedRmMap = new ConcurrentHashMap<>();
         this.domainMatchingFuncCache = new SyncedLRUCache<>(100);
     }
 
diff --git a/src/main/java/org/casbin/jcasbin/rbac/DomainManager.java 
b/src/main/java/org/casbin/jcasbin/rbac/DomainManager.java
index 131c6ff..dcba04d 100644
--- a/src/main/java/org/casbin/jcasbin/rbac/DomainManager.java
+++ b/src/main/java/org/casbin/jcasbin/rbac/DomainManager.java
@@ -24,6 +24,7 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.function.BiPredicate;
 
 /**
@@ -114,7 +115,7 @@ public class DomainManager implements RoleManager {
     @Override
     public void clear() {
         this.rmMap = new HashMap<>();
-        this.matchedRmMap = new HashMap<>();
+        this.matchedRmMap = new ConcurrentHashMap<>();
         this.domainMatchingFuncCache = new SyncedLRUCache<>(100);
     }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to