You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@karaf.apache.org by "Richard Bryan (Jira)" <ji...@apache.org> on 2022/01/06 23:52:00 UTC

[jira] [Commented] (KARAF-7306) Hot deployment (deploy directory) does not work for provisioned blueprints

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

Richard Bryan commented on KARAF-7306:
--------------------------------------

This breaks our ability to upgrade to 4.2.14 and provide our customers with a log4j vulnerability fix.  

This also happens with kar files that are pre-populated into the deploy directory before karaf starts.  During startup, it randomly will see those kar files and start them, but more often than not ignores them.  After karaf is started, I can touch a file in deploy and the kar files will be discovered and processed.  

If there's any workaround, please let us know, because this presents a big problem for us.

> Hot deployment (deploy directory) does not work for provisioned blueprints
> --------------------------------------------------------------------------
>
>                 Key: KARAF-7306
>                 URL: https://issues.apache.org/jira/browse/KARAF-7306
>             Project: Karaf
>          Issue Type: Bug
>          Components: karaf
>    Affects Versions: 4.3.3
>            Reporter: Robert Schulte
>            Assignee: Jean-Baptiste Onofré
>            Priority: Major
>         Attachments: client.xml, org.apache.karaf.features.cfg, processingFailures.png, startup.properties
>
>
> h2. Context
> I tried to migrate a custom Karaf distribution from 4.2.8 to 4.3.3 (fileinstall version 3.6.4 -> 3.7.0). The distribution contains a blueprint (xml) file that is supposed to be handled by one of Karaf's custom ArtifactListener_s. This kind of deploment works for Karaf 4.2.8 but fails for 4.3.3.
> h2. Steps to Reproduce
> On a vanilla Karaf 4.3.3
>  * place [^org.apache.karaf.features.cfg] in *etc* directory (adds aries-blueprint to boot features)
>  * place [^client.xml] in *deploy* directory (this is copied from examples/karaf-blueprint-example-client)
>  * do a clean start of karaf
>  * on Karaf shell, execute {{bundle:list | grep "client.xml"}}
> h2. Actual Results
> No matching bundles are listed
> Addendum: if a file in deploy is touched while Karaf is running, the blueprint gets deployed. This does not need to be client.xml itself, renaming deploy/README to deploy/README.txt also results in the blueprint getting deployed
> h2. Expected Results
> {noformat}
> karaf@root()> bundle:list  | grep "client.xml"
> 70 | Installed |  80 | 0.0.0   | client.xml
> {noformat}
> The XML file from deploy directory should be listed. Note: The bundle cannot start since it is missing requirements
> h2. Cause
> Karaf updated its dependency on Apache Felix File Install. That project has introduced a regression (FELIX-6490, which I also reported) that breaks the hot deployment for files that require custom handlers (like blueprint)



--
This message was sent by Atlassian Jira
(v8.20.1#820001)