[ https://issues.apache.org/jira/browse/SLING-5457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15867848#comment-15867848 ]
Konrad Windszus commented on SLING-5457: ---------------------------------------- Ok, I agree with the approach in general. I just have one concern with this patch though. It will only retry in the next cycle of the OSGi Installer, compare with https://github.com/apache/sling/pull/199#issuecomment-280004801. This feels really wrong to me because that way the bundle update task would not succeed until the next cycle of the OSGi installer would be triggered from some other event. > OsgiInstaller should retry to start bundles on failures > ------------------------------------------------------- > > Key: SLING-5457 > URL: https://issues.apache.org/jira/browse/SLING-5457 > Project: Sling > Issue Type: Bug > Components: Installer > Affects Versions: Installer Core 3.6.4 > Reporter: Jörg Hoh > > The OsgiInstaller doesn't update a bundle properly, if there's an exception > from the framework. > I have this exception: > {code} > 11.12.2015 14:09:36.753 *INFO* [FelixStartLevel] my.custom.bundle BundleEvent > RESOLVED > 11.12.2015 14:09:36.753 *INFO* [FelixStartLevel] my.custom.bundle BundleEvent > STARTING > 11.12.2015 14:09:36.754 INFO [OsgiInstallerImpl] > org.apache.sling.installer.core.impl.tasks.BundleUpdateTask Removing failing > update task - unable to retry: BundleUpdateTask: > TaskResource(url=jcrinstall:/apps/myapp/install/my.custom.bundle-1.5.6-SNAPSHOT.jar, > entity=bundle:my.custom.bundle, state=INSTALL, > attributes=[org.apache.sling.installer.api.tasks.ResourceTransformer=:28:84:15:, > Bundle-SymbolicName=my.custom.bundle, Bundle-Version=1.5.6-SNAPSHOT], > digest=1449838063263) > org.osgi.framework.BundleException: Bundle my.custom.bundle [252] cannot be > update, since it is either starting or stopping. > at org.apache.felix.framework.Felix.updateBundle(Felix.java:2311) > at org.apache.felix.framework.BundleImpl.update(BundleImpl.java:995) > at > org.apache.sling.installer.core.impl.tasks.BundleUpdateTask.execute(BundleUpdateTask.java:92) > at > org.apache.sling.installer.core.impl.OsgiInstallerImpl.doExecuteTasks(OsgiInstallerImpl.java:847) > at > org.apache.sling.installer.core.impl.OsgiInstallerImpl.executeTasks(OsgiInstallerImpl.java:689) > at > org.apache.sling.installer.core.impl.OsgiInstallerImpl.run(OsgiInstallerImpl.java:265) > at java.lang.Thread.run(Thread.java:767) > {code} > I don't know for what reason the Felix.updateBundle() failed (see also > FELIX-5138 to get some more information in this case), but from my point of > view there should be a dedicated error handling just for the > {code}BundleImpl.update{code} call. Does it make sense to retry the > installation at a later point in time (maybe 3 times at max)? > (I got this exception when I deployed a large number of bundles through the > JCR installer. It happens only once in a while, but it's an annoying task to > fix it manually.) -- This message was sent by Atlassian JIRA (v6.3.15#6346)