Amichai Rothman created ARIES-2208:
--------------------------------------

             Summary: Incorrect closing of 
RSAFactory/RSACore/RSAInstance/ImportRegistration/ExportRegistration
                 Key: ARIES-2208
                 URL: https://issues.apache.org/jira/browse/ARIES-2208
             Project: Aries
          Issue Type: Bug
          Components: Remote Service Admin
    Affects Versions: rsa-1.16.1
            Reporter: Amichai Rothman


Import/Export registration lifecycle, and specifically when they are closed, 
are defined in the spec. This can be triggered for multiple reasons - the RSA 
bundle being stopped, the TopologyManager bundle being stopped, services being 
removed, providers being removed, etc. The current implementation is incorrect, 
resulting in registrations not being closed under some of those circumstances 
and being triggered to close multiple times at others. Then there is also the 
matter of multiple copies of a registration sharing state, requiring reference 
counting so it is closed only when the last copy is closed.

The spec recommends using a ServiceFactory in order to implement the 
requirement that when a TM or RSA goes away, all of its exports/imports need to 
be closed. While the current code does implement a ServiceFactory, it only uses 
it for a general reference count and frees registrations when all services go 
away. Unfortunately, it doesn't actually implement the requirement of keeping 
track of registrations per TM/RSA and closing them when either one goes away.

The whole registration closing mechanism with its various flows needs to be 
reviewed and reimplemented to comply with the spec and manage the resources 
properly.

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to