karaf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jérémie Brébec (JIRA) <j...@apache.org>
Subject [jira] [Commented] (KARAF-5371) Race condition between FeatureService and Fileinstall
Date Mon, 16 Oct 2017 18:40:00 GMT

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

Jérémie Brébec commented on KARAF-5371:

I didn't reproduced this issue with the following patch. Approximately 900 itests have been
executed without errors.

diff --git a/features/core/src/main/java/org/apache/karaf/features/internal/osgi/Activator.java
index 3f306faf6e..27a64937d2 100644
--- a/features/core/src/main/java/org/apache/karaf/features/internal/osgi/Activator.java
+++ b/features/core/src/main/java/org/apache/karaf/features/internal/osgi/Activator.java
@@ -129,6 +129,8 @@ public class Activator extends BaseActivator {
         Dictionary<String, Object> ranking = new Hashtable<>();
         ranking.put(Constants.SERVICE_RANKING, 1000);
         StandardRegionDigraph dg = digraph = DigraphHelper.loadDigraph(bundleContext);
+        DigraphHelper.verifyUnmanagedBundles(bundleContext, dg);
         register(ResolverHookFactory.class, dg.getResolverHookFactory());
         register(CollisionHook.class, CollisionHookHelper.getCollisionHook(dg));
         register(org.osgi.framework.hooks.bundle.FindHook.class, dg.getBundleFindHook(),

> Race condition between FeatureService and Fileinstall
> -----------------------------------------------------
>                 Key: KARAF-5371
>                 URL: https://issues.apache.org/jira/browse/KARAF-5371
>             Project: Karaf
>          Issue Type: Bug
>          Components: karaf-feature
>    Affects Versions: 4.1.2
>            Reporter: J. Brébec
>            Assignee: Guillaume Nodet
>            Priority: Critical
>             Fix For: 4.2.0, 4.1.3
> If a bundle is installed when the FeatureService is started, then it is possible that
this bundle is not associated to the default region. as a consequence, every services exported
by this bundle are not visible from the osgi container, until karaf is restarted.
> A real usecase :
> - A new karaf distribution, with a blueprint file in a folder managed by fileinstall
> - When the distribution is started, as fileinstall is started before the feature bundle,
and the folder are watched asynchronously, the blueprint file is installed before or in the
same time the featureservice is started
> => the services exported by the blueprint file are not visible
> This race condition is located in the FeatureService activator : the digraph is loaded,
and every bundle not known are added to the default region. then, it subscribes a bundle-listener
: If a bundle X is installed between the digraph loading and the subscription of the bundle
listener, then this bundle X is not attached to the default region.
> On my machine, this issue happens 70% of the time on a cold start.

This message was sent by Atlassian JIRA

View raw message