[
https://issues.apache.org/jira/browse/ARIES-2208?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Amichai Rothman closed ARIES-2208.
----------------------------------
Fix Version/s: rsa-2.0.0
Resolution: Fixed
> 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
> Assignee: Amichai Rothman
> Priority: Major
> Fix For: rsa-2.0.0
>
>
> 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)