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)