[ 
https://issues.apache.org/jira/browse/SLING-12253?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17818747#comment-17818747
 ] 

Carsten Ziegeler commented on SLING-12253:
------------------------------------------

It seems AbstractResourceCollector#getChildrenList is modifying the list 
*after* it got put into the cache which then allows another thread to pick up 
the cached result before the list is completely assembled.
A workaround is to disable caching.

> ConcurrentModificationException in AbstractResourceCollector
> ------------------------------------------------------------
>
>                 Key: SLING-12253
>                 URL: https://issues.apache.org/jira/browse/SLING-12253
>             Project: Sling
>          Issue Type: Task
>    Affects Versions: Servlets Resolver 2.9.14, Servlets Resolver 2.10.0, 
> Servlets Resolver 2.11.0
>            Reporter: Joerg Hoh
>            Priority: Major
>
> {noformat}
> [[::1] [1705550745690] GET /content/foobar.html HTTP/1.1] 
> org.apache.sling.engine.impl.SlingRequestProcessorImpl service: Uncaught 
> Throwable
> java.util.ConcurrentModificationException: null
>       at 
> java.base/java.util.ArrayList$Itr.checkForComodification(ArrayList.java:1043)
>       at java.base/java.util.ArrayList$Itr.next(ArrayList.java:997)
>       at 
> org.apache.sling.servlets.resolver.internal.helper.ResourceCollector.getWeightedResources(ResourceCollector.java:232)
>  [org.apache.sling.servlets.resolver:2.9.14]
>       at 
> org.apache.sling.servlets.resolver.internal.helper.AbstractResourceCollector.lambda$getServlets$1(AbstractResourceCollector.java:117)
>  [org.apache.sling.servlets.resolver:2.9.14]
>       at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
>       at 
> org.apache.sling.servlets.resolver.internal.helper.AbstractResourceCollector.getServlets(AbstractResourceCollector.java:117)
>  [org.apache.sling.servlets.resolver:2.9.14]
>       at 
> org.apache.sling.servlets.resolver.internal.SlingServletResolver.getServletInternal(SlingServletResolver.java:528)
>  [org.apache.sling.servlets.resolver:2.9.14]
>       at 
> org.apache.sling.servlets.resolver.internal.SlingServletResolver.resolveServletInternal(SlingServletResolver.java:489)
>  [org.apache.sling.servlets.resolver:2.9.14]
> ...
> {noformat}



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

Reply via email to