aries-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Philippe (Jira)" <j...@apache.org>
Subject [jira] [Created] (ARIES-1939) ServiceReference never satisfied when service was registered during start of corresponding SatisfactionListener
Date Thu, 07 Nov 2019 16:02:00 GMT
Philippe created ARIES-1939:
-------------------------------

             Summary: ServiceReference never satisfied when service was registered during
start of corresponding SatisfactionListener
                 Key: ARIES-1939
                 URL: https://issues.apache.org/jira/browse/ARIES-1939
             Project: Aries
          Issue Type: Bug
          Components: Blueprint
    Affects Versions: blueprint-core-1.10.2
            Reporter: Philippe
         Attachments: AbstractServiceReferenceRecipe.png

The start of the OSGi container fails if a service is registered at the same time as a SatisfactionListener
(that listens for the same service) is started. This leads to a wrong value of 'satisfied'.


In detail, it means that method org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.start()
(for starting the satisfaction listener for service C) is executed by BlueprintExtender thread
A and method org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.serviceAdded()
(triggered by registering service C) is executed by BlueprintExtender thread B exactly at
the same time.

!AbstractServiceReferenceRecipe.png!

*Remarks:*

The same problem can probably also happen when method org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.serviceRemoved()
is executed at the same time as methodĀ org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.start().

*Suggested Solution:*
 - synchronize computation and modification of satisfied variable in all places.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Mime
View raw message