[
https://issues.apache.org/jira/browse/ATLAS-5147?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Aditya Gupta updated ATLAS-5147:
--------------------------------
Description:
Example: When performing a search of entities i particular typedef let's say:
"hdfs_path", if the number of entities exceeds the default pagination limit
(25), the {{approximateCount}} field in the {{AtlasSearchResult}} incorrectly
reports only 25, even when more entities exist.
Also, if we decrease the pagination limit to any random number lets say 5, the
approximate count will be shown as 5
*Before the Fix:*
Create 26 entities of a type.
Perform a search using the API without explicitly setting {{limit}} and
{{offset}} (defaults to 25).
Observe that {{approximateCount}} is reported as *25* instead of *26*
*After the Fix*
approximateCount value is reported as totalEntityCount present in particular
typedefinition
*Fix Done:*
Capture the total Enitity count before you apply the limit/offset
!image-2025-09-29-14-40-47-766.png!
as we have 26 entities.
request:
curl 'http://localhost:21000/api/atlas/v2/search/basic' \ -H 'Accept:
application/json, text/plain, */*' \ -H 'Accept-Language: en-US,en;q=0.9' \ -H
'Connection: keep-alive' \ -H 'Content-Type: application/json' \ -b
'ATLASSESSIONID=node0ilpfq8b9zw701pbgowuqmrjqf1.node0' \ -H 'Origin:
http://localhost:21000' \ -H 'Referer: http://localhost:21000/n3/index.html' \
-H 'Sec-Fetch-Dest: empty' \ -H 'Sec-Fetch-Mode: cors' \ -H 'Sec-Fetch-Site:
same-origin' \ -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' \ -H
'X-XSRF-HEADER: eDoGUqSdiDGwTZoV88ui' \ -H 'sec-ch-ua: "Chromium";v="140",
"Not=A?Brand";v="24", "Google Chrome";v="140"' \ -H 'sec-ch-ua-mobile: ?0' \ -H
'sec-ch-ua-platform: "Linux"' \ --data-raw
'\{"excludeDeletedEntities":true,"includeSubClassifications":true,"includeSubTypes":true,"includeClassificationAttributes":true,"entityFilters":null,"tagFilters":null,"attributes":[],"limit":25,"offset":0,"relationshipFilters":null,"typeName":"hdfs_path","classification":null,"termName":null}'
setting limit as 25 as above in curl request shown.
so were getting in the respone:
], "approximateCount": 25
was:
Example: When performing a search of entities i particular typedef let's say:
"hdfs_path", if the number of entities exceeds the default pagination limit
(25), the {{approximateCount}} field in the {{AtlasSearchResult}} incorrectly
reports only 25, even when more entities exist.
Also, if we decrease the pagination limit to any random number lets say 5, the
approximate count will be shown as 5
*Before the Fix:*
Create 26 entities of a type.
Perform a search using the API without explicitly setting {{limit}} and
{{offset}} (defaults to 25).
Observe that {{approximateCount}} is reported as *25* instead of *26*
*After the Fix*
approximateCount value is reported as totalEntityCount present in particular
typedefinition
*Fix Done:*
Capture the total Enitity count before you apply the limit/offset
> Search API "approximateCount" shows "pageLimit" value instead of total entity
> count
> -----------------------------------------------------------------------------------
>
> Key: ATLAS-5147
> URL: https://issues.apache.org/jira/browse/ATLAS-5147
> Project: Atlas
> Issue Type: Bug
> Reporter: Aditya Gupta
> Assignee: Aditya Gupta
> Priority: Major
> Attachments: Screenshot from 2025-09-29 14-40-03.png,
> image-2025-09-29-14-40-47-766.png
>
>
> Example: When performing a search of entities i particular typedef let's say:
> "hdfs_path", if the number of entities exceeds the default pagination limit
> (25), the {{approximateCount}} field in the {{AtlasSearchResult}} incorrectly
> reports only 25, even when more entities exist.
> Also, if we decrease the pagination limit to any random number lets say 5,
> the approximate count will be shown as 5
> *Before the Fix:*
> Create 26 entities of a type.
> Perform a search using the API without explicitly setting {{limit}} and
> {{offset}} (defaults to 25).
> Observe that {{approximateCount}} is reported as *25* instead of *26*
> *After the Fix*
> approximateCount value is reported as totalEntityCount present in particular
> typedefinition
> *Fix Done:*
> Capture the total Enitity count before you apply the limit/offset
> !image-2025-09-29-14-40-47-766.png!
> as we have 26 entities.
> request:
> curl 'http://localhost:21000/api/atlas/v2/search/basic' \ -H 'Accept:
> application/json, text/plain, */*' \ -H 'Accept-Language: en-US,en;q=0.9' \
> -H 'Connection: keep-alive' \ -H 'Content-Type: application/json' \ -b
> 'ATLASSESSIONID=node0ilpfq8b9zw701pbgowuqmrjqf1.node0' \ -H 'Origin:
> http://localhost:21000' \ -H 'Referer: http://localhost:21000/n3/index.html'
> \ -H 'Sec-Fetch-Dest: empty' \ -H 'Sec-Fetch-Mode: cors' \ -H
> 'Sec-Fetch-Site: same-origin' \ -H 'User-Agent: Mozilla/5.0 (X11; Linux
> x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0
> Safari/537.36' \ -H 'X-XSRF-HEADER: eDoGUqSdiDGwTZoV88ui' \ -H 'sec-ch-ua:
> "Chromium";v="140", "Not=A?Brand";v="24", "Google Chrome";v="140"' \ -H
> 'sec-ch-ua-mobile: ?0' \ -H 'sec-ch-ua-platform: "Linux"' \ --data-raw
> '\{"excludeDeletedEntities":true,"includeSubClassifications":true,"includeSubTypes":true,"includeClassificationAttributes":true,"entityFilters":null,"tagFilters":null,"attributes":[],"limit":25,"offset":0,"relationshipFilters":null,"typeName":"hdfs_path","classification":null,"termName":null}'
> setting limit as 25 as above in curl request shown.
> so were getting in the respone:
> ], "approximateCount": 25
--
This message was sent by Atlassian Jira
(v8.20.10#820010)