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

ramackri pushed a commit to branch RANGER-5710
in repository https://gitbox.apache.org/repos/asf/ranger.git

commit ce43a103d1d2d67c5a22b0418ebaf65324c7e462
Author: ramk <[email protected]>
AuthorDate: Tue Jul 28 23:12:00 2026 +0530

    RANGER-5710: Fix DB access audit search for multi-value requestUser filter
    
    AssetREST passes multiple Users values as a list, but XAccessAuditService 
declared requestUser as STRING, causing ClassCastException on the DB audit path 
when SearchUtil.buildWhereClause casts the parameter.
---
 .../src/main/java/org/apache/ranger/service/XAccessAuditService.java    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/security-admin/src/main/java/org/apache/ranger/service/XAccessAuditService.java
 
b/security-admin/src/main/java/org/apache/ranger/service/XAccessAuditService.java
index db3964ecb..09a24df93 100644
--- 
a/security-admin/src/main/java/org/apache/ranger/service/XAccessAuditService.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/service/XAccessAuditService.java
@@ -51,7 +51,7 @@ public XAccessAuditService() {
         searchFields.add(new SearchField("agentId", "obj.agentId", 
SearchField.DATA_TYPE.STRING, SearchField.SEARCH_TYPE.PARTIAL));
         searchFields.add(new SearchField("repoName", "obj.repoName", 
SearchField.DATA_TYPE.STRING, SearchField.SEARCH_TYPE.PARTIAL));
         searchFields.add(new SearchField("sessionId", "obj.sessionId", 
SearchField.DATA_TYPE.STRING, SearchField.SEARCH_TYPE.PARTIAL));
-        searchFields.add(new SearchField("requestUser", "obj.requestUser", 
SearchField.DATA_TYPE.STRING, SearchField.SEARCH_TYPE.PARTIAL));
+        searchFields.add(new SearchField("requestUser", "obj.requestUser", 
SearchField.DATA_TYPE.STR_LIST, SearchField.SEARCH_TYPE.PARTIAL));
         searchFields.add(new SearchField("requestData", "obj.requestData", 
SearchField.DATA_TYPE.STRING, SearchField.SEARCH_TYPE.PARTIAL));
         searchFields.add(new SearchField("resourcePath", "obj.resourcePath", 
SearchField.DATA_TYPE.STRING, SearchField.SEARCH_TYPE.PARTIAL));
         searchFields.add(new SearchField("clientIP", "obj.clientIP", 
SearchField.DATA_TYPE.STRING, SearchField.SEARCH_TYPE.PARTIAL));

Reply via email to