[ 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)