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

Alexander Klimetschek edited comment on SLING-6777 at 4/12/17 10:06 AM:
------------------------------------------------------------------------

At first, I can only see this happening on bundle restarts or component 
restarts due to configuration changes (i.e. the {{JcrResourceBundleProvider}} 
restarting), while some request using the {{ValidationService}} is still being 
processed and still has a reference on the closing provider. Where I don't 
think much can be done. It's a somewhat typical issue you often get during 
restarts.

Is there any indication this is happening frequently instead of a one-off 
situation and persists after it has happened once?

{quote}we should handle closed resolvers in Validation gracefully{quote}
Note that Validation does not see the resolver here, so validation could not 
handle this directly.

{quote}Should we switch to short running resolver in i18n{quote}
Seems possible. It is long running because it was originally used for JCR 
observation. But since SLING-4186 and [this 
change|https://github.com/apache/sling/commit/a30af93968405819c1b607e89ff7b5371f74533d],
 it leverages the Sling Resource Change stuff, which I believe has its own 
listener session(s).


was (Author: alexander.klimetschek):
At first, I can only see this happening on bundle restarts or component 
restarts due to configuration changes (i.e. the {{JcrResourceBundleProvider}} 
restarting), while some request using the {{ValidationService}} is still being 
processed and still has a reference on the closing provider. Where I don't 
think much can be done. It's a somewhat typical issue you often get during 
restarts.

Is there any indication this is happening frequently instead of a one-off 
situation and persists once it has happened once?

{quote}we should handle closed resolvers in Validation gracefully{quote}
Note that Validation does not see the resolver here, so validation could not 
handle this directly.

{quote}Should we switch to short running resolver in i18n{quote}
Seems possible. It is long running because it was originally used for JCR 
observation. But since SLING-4186 and [this 
change|https://github.com/apache/sling/commit/a30af93968405819c1b607e89ff7b5371f74533d],
 it leverages the Sling Resource Change stuff, which I believe has its own 
listener session(s).

> ValidationServiceImpl breaks when hitting closed resolver for resource 
> bundles (i18n)
> -------------------------------------------------------------------------------------
>
>                 Key: SLING-6777
>                 URL: https://issues.apache.org/jira/browse/SLING-6777
>             Project: Sling
>          Issue Type: Bug
>          Components: Extensions, Validation
>            Reporter: Oliver Lietz
>
> {noformat}
> java.lang.IllegalStateException: Resource resolver is already closed.
>       at 
> org.apache.sling.resourceresolver.impl.ResourceResolverImpl.checkClosed(ResourceResolverImpl.java:186)
>       at 
> org.apache.sling.resourceresolver.impl.ResourceResolverImpl.findResources(ResourceResolverImpl.java:731)
>       at 
> org.apache.sling.i18n.impl.JcrResourceBundle.loadPotentialLanguageRoots(JcrResourceBundle.java:328)
>       at 
> org.apache.sling.i18n.impl.JcrResourceBundle.<init>(JcrResourceBundle.java:85)
>       at 
> org.apache.sling.i18n.impl.JcrResourceBundleProvider.createResourceBundle(JcrResourceBundleProvider.java:452)
>       at 
> org.apache.sling.i18n.impl.JcrResourceBundleProvider.getResourceBundleInternal(JcrResourceBundleProvider.java:411)
>       at 
> org.apache.sling.i18n.impl.JcrResourceBundleProvider.getResourceBundle(JcrResourceBundleProvider.java:180)
>       at 
> org.apache.sling.i18n.impl.JcrResourceBundleProvider.getResourceBundle(JcrResourceBundleProvider.java:171)
>       at 
> org.apache.sling.validation.impl.ValidationServiceImpl.getDefaultResourceBundle(ValidationServiceImpl.java:196)
>       at 
> org.apache.sling.validation.impl.ValidationServiceImpl.validate(ValidationServiceImpl.java:292)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to