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 815911572 RANGER-4606: /assets/assets/count API does not return the 
proper count if the number of services is greater than 200
815911572 is described below

commit 81591157210e8a0245a4101ec0dafc36f4137cc0
Author: princeap173 <[email protected]>
AuthorDate: Thu Dec 14 09:49:04 2023 +0530

    RANGER-4606: /assets/assets/count API does not return the proper count if 
the number of services is greater than 200
    
    Signed-off-by: Madhan Neethiraj <[email protected]>
---
 .../main/java/org/apache/ranger/rest/AssetREST.java   | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java 
b/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
index 2e1982c4a..e5ef779f4 100644
--- a/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
@@ -277,9 +277,26 @@ public class AssetREST {
                        logger.debug("==> AssetREST.countXAssets()");
                }
 
+               SearchFilter filter = 
searchUtil.getSearchFilterFromLegacyRequest(request, 
xResourceService.sortFields);
+
+               filter.setMaxRows(Integer.MAX_VALUE);
+
+               List<RangerService> services      = 
serviceREST.getServices(filter);
+               int                 servicesCount = 0;
+
+               if (services != null) {
+                       for (RangerService service : services) {
+                               VXAsset asset = serviceUtil.toVXAsset(service);
+
+                               if (asset != null) {
+                                       servicesCount++;
+                               }
+                       }
+               }
+
                VXLong ret = new VXLong();
 
-               ret.setValue(searchXAssets(request).getListSize());
+               ret.setValue(servicesCount);
 
                if(logger.isDebugEnabled()) {
                        logger.debug("<== AssetREST.countXAssets(): " + ret);

Reply via email to