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

Dominik Süß commented on SLING-5457:
------------------------------------

It makes sense to get the root cause of that very specific issue fixed and 
prevent this happening in first place but I would also opt to additionally 
implement retry option as proposed by [~kwin] (probably go for 5 retries to be 
safer ;) ) as other Exceptions not detected at that point in time would other 
ways lead to "lost" bundle installations in a state that is not easily 
recoverable (esp. if the bundle is part of the launchpad and not in repo or 
filesystem where you can remove and re-add  an ignored TaskResource).

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

Reply via email to