Jörg Hoh created SLING-5457:
-------------------------------

             Summary: 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