[ 
https://issues.apache.org/jira/browse/SLING-12384?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Julian Reschke closed SLING-12384.
----------------------------------

> ResourceResolver: paged query for sling:alias will miss entries
> ---------------------------------------------------------------
>
>                 Key: SLING-12384
>                 URL: https://issues.apache.org/jira/browse/SLING-12384
>             Project: Sling
>          Issue Type: Bug
>    Affects Versions: Resource Resolver 1.11.6
>            Reporter: Julian Reschke
>            Assignee: Julian Reschke
>            Priority: Major
>             Fix For: Resource Resolver 1.12.0
>
>
> Initially I thought that the issue just applies to empty alias values, 
> because the paged query will always skip them, due to the first query being 
> "{{{}first(sling:alias) > ''{}}}".
> Closer inspection showed that the pageing logic was flawed:
>  * read values until pageSize is exceeded *and* a new key value _x_ is reached
>  * start a new query with condition {{> x}}
> This worked mostly ok with vanity paths, where the search key 
> "first(sling:vanityPath)" almost always changes (having the same value for 
> many resources will only lead to one working vanity path, because the same 
> path cannot map to multiple resources).
> For aliases the situations is different, because their value is locally 
> scoped to the collection the aliased resource appears in. So we could have 
> 10000 resources with the _same_ set of aliases (think translations or 
> shortcuts), and in cases like these, the page size (right now 2000) would be 
> exceeded.
> The proposed change is:
>  * always use ">=" so the initial page contains the empty-valued properties 
> as well
>  * when page size is exceeded and a new key _y_ is found, do not include the 
> last result, but execute a new query right away (with the proper condition so 
> that all resources with "{{first(sling:alias) >= y}}" are returned)
>  * also add more diagnostics, which may help to diagnose pacge size / query 
> limit issues early
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to