You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@karaf.apache.org by "Johannes Utzig (JIRA)" <ji...@apache.org> on 2015/07/18 00:52:04 UTC

[jira] [Commented] (KARAF-3443) Deployed KAR files may be installed in the wrong order.

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

Johannes Utzig commented on KARAF-3443:
---------------------------------------

I am also affected by this issue. A complete kar is not an option for me because I am using kars as a way to split a large software into multiple modules that can be deployed in different combinations.
Deleting, adding or updating a kar is the easiest way for me to manage these installations which is why I favor kars over features.
I implemented a timed loop as suggested. It's not pretty, but it seems to solve the issue for me. If you consider this a valid approach I can create a pull request.
https://github.com/jutzig/karaf/commit/924ffa9d387a9359398fc63c3a37dff5304ce773

> Deployed KAR files may be installed in the wrong order.
> -------------------------------------------------------
>
>                 Key: KARAF-3443
>                 URL: https://issues.apache.org/jira/browse/KARAF-3443
>             Project: Karaf
>          Issue Type: Bug
>          Components: karaf-kar
>    Affects Versions: 3.0.2
>            Reporter: Karl Leopold
>            Assignee: Jean-Baptiste Onofré
>             Fix For: 3.0.5, 4.0.1
>
>
> If I start Karaf with two KARs, A and B, in its deploy directory, where A contains a feature which depends on B, I'll get an error:
> {code}
> org.apache.karaf.kar.internal.KarServiceImpl: Unable to install Kar feature A/1.0
> java.lang.Exception: No feature named 'B' with version '2.0-SNAPSHOT' available
> 	at org.apache.karaf.features.internal.FeaturesServiceImpl.installFeatureDependency(FeaturesServiceImpl.java:581)[18:org.apache.karaf.features.core:3.0.2]
> 	at org.apache.karaf.features.internal.FeaturesServiceImpl.doInstallFeature(FeaturesServiceImpl.java:522)[18:org.apache.karaf.features.core:3.0.2]
> 	at org.apache.karaf.features.internal.FeaturesServiceImpl.installFeatures(FeaturesServiceImpl.java:395)[18:org.apache.karaf.features.core:3.0.2]
> 	at org.apache.karaf.features.internal.FeaturesServiceImpl.installFeature(FeaturesServiceImpl.java:375)[18:org.apache.karaf.features.core:3.0.2]
> 	at Proxy1dbf3e21_9a2a_46b9_bf75_2dde3f9950ab.installFeature(Unknown Source)[:]
> 	at Proxy9d8165a0_ff45_4050_90ed_ce57d2e8e46e.installFeature(Unknown Source)[:]
> 	at org.apache.karaf.kar.internal.KarServiceImpl.installFeatures(KarServiceImpl.java:215)[31:org.apache.karaf.kar.core:3.0.2]
> 	at org.apache.karaf.kar.internal.KarServiceImpl.install(KarServiceImpl.java:96)[31:org.apache.karaf.kar.core:3.0.2]
> 	at org.apache.karaf.kar.internal.KarServiceImpl.install(KarServiceImpl.java:84)[31:org.apache.karaf.kar.core:3.0.2]
> 	at Proxyb6c18187_064e_4455_af37_f30109bbe7bb.install(Unknown Source)[:]
> 	at Proxybccf42a3_1ef6_4c2a_94f7_8e5308be37f0.install(Unknown Source)[:]
> 	at org.apache.karaf.deployer.kar.KarArtifactInstaller.install(KarArtifactInstaller.java:50)[33:org.apache.karaf.deployer.kar:3.0.2]
> 	at Proxy01c35796_2258_42cb_8801_281d65d5c3bf.install(Unknown Source)[:]
> 	at org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:931)[41:org.apache.felix.fileinstall:3.4.2]
> 	at org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:865)[41:org.apache.felix.fileinstall:3.4.2]
> 	at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:482)[41:org.apache.felix.fileinstall:3.4.2]
> 	at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:358)[41:org.apache.felix.fileinstall:3.4.2]
> 	at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:310)[41:org.apache.felix.fileinstall:3.4.2]
> {code}
> It works to install both KARs in another order.
> It would be great if a KAR is installed if all dependencies are met, only.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)