Timothee Maret created SLING-10314:
--------------------------------------

             Summary: PubQueueProviderImpl close may throw IllegalStateException
                 Key: SLING-10314
                 URL: https://issues.apache.org/jira/browse/SLING-10314
             Project: Sling
          Issue Type: Bug
          Components: Content Distribution
            Reporter: Timothee Maret
             Fix For: Content Distribution Journal Core 0.1.18


The PubQueueProviderImpl close method throws IllegalStateException when invoked 
multiple times.

{code}
[FelixLogListener] 
org.apache.sling.distribution.journal.impl.publisher.DistributionPublisher 
bundle org.apache.sling.distribution.journal:0.2.0.T20200727-828e876 
(547)[org.apache.sling.distribution.journal.impl.publisher.DistributionPublisher(2815)]
 : The deactivate method has thrown an exception 
(java.lang.IllegalStateException: Service already unregistered.)
java.lang.IllegalStateException: Service already unregistered.
        at 
org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:141)
        at 
org.apache.sling.distribution.journal.queue.impl.PubQueueProviderImpl.close(PubQueueProviderImpl.java:98)
 [org.apache.sling.distribution.journal:0.2.0.T20200727-828e876]
        at org.apache.commons.io.IOUtils.closeQuietly(IOUtils.java:363) 
[org.apache.commons.io:2.6.0]
        at org.apache.commons.io.IOUtils.closeQuietly(IOUtils.java:423) 
[org.apache.commons.io:2.6.0]
        at 
org.apache.sling.distribution.journal.impl.publisher.DistributionPublisher.deactivate(DistributionPublisher.java:195)
 [org.apache.sling.distribution.journal:0.2.0.T20200727-828e876]
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at 
org.apache.felix.scr.impl.inject.methods.BaseMethod.invokeMethod(BaseMethod.java:242)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.inject.methods.BaseMethod.access$500(BaseMethod.java:41)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.inject.methods.BaseMethod$Resolved.invoke(BaseMethod.java:678)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.inject.methods.BaseMethod.invoke(BaseMethod.java:524) 
[org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:318)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:308)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.manager.SingleComponentManager.disposeImplementationObject(SingleComponentManager.java:409)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.manager.SingleComponentManager.deleteComponent(SingleComponentManager.java:164)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.manager.AbstractComponentManager.doDeactivate(AbstractComponentManager.java:832)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.manager.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:806)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.manager.DependencyManager.deactivateComponentManager(DependencyManager.java:2413)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.manager.DependencyManager.access$400(DependencyManager.java:58)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.removedService(DependencyManager.java:1166)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.removedService(DependencyManager.java:1043)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:1242)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:1137)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.untrack(ServiceTracker.java:997)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1176)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:125)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.framework.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:990)
        at 
org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:838)
        at 
org.apache.felix.framework.EventDispatcher.fireServiceEvent(EventDispatcher.java:545)
        at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4833)
        at org.apache.felix.framework.Felix.access$000(Felix.java:112)
        at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:434)
        at 
org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:170)
        at 
org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:145)
        at 
org.apache.sling.distribution.journal.impl.publisher.PubQueueProviderPublisher.deactivate(PubQueueProviderPublisher.java:86)
 [org.apache.sling.distribution.journal:0.2.0.T20200727-828e876]
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at 
org.apache.felix.scr.impl.inject.methods.BaseMethod.invokeMethod(BaseMethod.java:242)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.inject.methods.BaseMethod.access$500(BaseMethod.java:41)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.inject.methods.BaseMethod$Resolved.invoke(BaseMethod.java:678)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.inject.methods.BaseMethod.invoke(BaseMethod.java:524) 
[org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:318)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:308)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.manager.SingleComponentManager.disposeImplementationObject(SingleComponentManager.java:409)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.manager.SingleComponentManager.deleteComponent(SingleComponentManager.java:164)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.manager.AbstractComponentManager.doDeactivate(AbstractComponentManager.java:832)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.manager.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:806)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.manager.DependencyManager.deactivateComponentManager(DependencyManager.java:2413)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.manager.DependencyManager.access$400(DependencyManager.java:58)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.removedService(DependencyManager.java:1166)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.removedService(DependencyManager.java:1043)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:1242)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:1137)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.untrack(ServiceTracker.java:997)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1176)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:125)
 [org.apache.felix.scr:2.1.20]
        at 
org.apache.felix.framework.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:990)
        at 
org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:838)
        at 
org.apache.felix.framework.EventDispatcher.fireServiceEvent(EventDispatcher.java:545)
        at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4833)
        at org.apache.felix.framework.Felix.access$000(Felix.java:112)
        at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:434)
        at 
org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:170)
        at 
org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:145)
        at org.apache.felix.scr.impl.manager.AbstractCo MESSAGE TOO LONG, 
TRUNCATED
{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to