aries-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jean-Baptiste Onofré (JIRA) <j...@apache.org>
Subject [jira] [Created] (ARIES-1841) Race condition on blueprint-cm with ConfigAdmin
Date Wed, 03 Oct 2018 13:16:00 GMT
Jean-Baptiste Onofré created ARIES-1841:
-------------------------------------------

             Summary: Race condition on blueprint-cm with ConfigAdmin
                 Key: ARIES-1841
                 URL: https://issues.apache.org/jira/browse/ARIES-1841
             Project: Aries
          Issue Type: Bug
          Components: Blueprint
    Affects Versions: blueprint-core-1.8.3, blueprint-core-1.9.0
            Reporter: Jean-Baptiste Onofré
            Assignee: Jean-Baptiste Onofré
             Fix For: blueprint-core-1.8.4, blueprint-core-1.9.1


If a blueprint bundle use CM like:

{code}
<cm-properties persistent-id="persistentId" id="my.config" xmlns="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.2.0"/>
{code}

if the configuration is created by another bundle (directly using {{ConfigurationAdmin}})
like:

{code}
        Configuration configuration = configurationAdmin.getConfiguration(CONFIG_PID, null);
        Dictionary<String, Object> dictionary = Optional.ofNullable(configuration.getProperties()).orElse(new
Hashtable());
        for (Map.Entry entry : properties.entrySet()) {
            dictionary.put(entry.getKey().toString(), entry.getValue());
        }
       configuration.update(dictionary);
{code}

then, it's possible to have a race condition where the blueprint container thread starts whereas
the config update is not complete (two different threads).

Blueprint CM should have an option to wait an updated config. For instance, it could check
{{_felix_.cm.newConfiguration}} property.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message