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

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

Issue reappeared randomly on some automated install tests - from looking at the 
code base it looks like the osgi installer doesn't take into account that the 
framework expects the bundle to be stopped and not stopping when updating. The 
stop command directly before executing the  update command might not have 
enough time to stop the bundle. I therefore would also vote for retrying 
multiple times and logging an ERROR when this does not resolve the issue. The 
fact that this is only logged as INFO did hide the existence of an issue and 
might lead to subtle effects when the failed bundles where not bumping the 
major version.

> 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.4#6332)

Reply via email to