[
https://issues.apache.org/jira/browse/ARIES-1943?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16973363#comment-16973363
]
ASF subversion and git services commented on ARIES-1943:
--------------------------------------------------------
Commit 0f48071f60263d35e55dcf7f510f06dd75018da5 in aries-rsa's branch
refs/heads/master from Arnoud Glimmerveen
[ https://gitbox.apache.org/repos/asf?p=aries-rsa.git;h=0f48071 ]
ARIES-1943 Changed TopologyManager importer logic to not assume all referenced
ImportRegistrations are 'open'. (#36)
* ARIES-1943 Changed TopologyManager importer logic to not assume all
referenced ImportRegistrations are 'open'.
In addition assigned functional thread names to the ExecutorServices used by
Importer and Exporter logic.
* Based threadName pattern on using class.
* Changed approach to naming threads, as discussed in the comments of PR #36.
> TopologyManagerImport assumes all referenced ImportRegistrations are not
> closed
> -------------------------------------------------------------------------------
>
> Key: ARIES-1943
> URL: https://issues.apache.org/jira/browse/ARIES-1943
> Project: Aries
> Issue Type: Bug
> Components: Remote Service Admin
> Affects Versions: rsa-1.14.0
> Reporter: Arnoud Glimmerveen
> Priority: Major
> Time Spent: 20m
> Remaining Estimate: 0h
>
> When an ImportRegistration is closed, all other methods must return null.
> Obtaining for instance the ImportReference after close is therefor not
> possible and the associated getter is expected to return null.
> The current importer logic appears to assume that at least the
> ImportReference can always be obtained. This holds true when assuming that
> only a single thread performs the import task, however de current
> implementation uses up to 10 Threads. In that case whilst one Thread is busy
> closing an ImportRegistration, another may already have the reference to it
> and without the check for null will run into a NPE.
> Note that apparently the Apache Aries RSA implementation does not have
> ImportRegistration.getImportReference() return null after close, which is I
> guess the reason why this has gone unnoticed. Looking at the
> [spec|https://osgi.org/specification/osgi.cmpn/7.0.0/service.remoteserviceadmin.html#org.osgi.service.remoteserviceadmin.ImportRegistration]
> this in itself should also be considered a bug.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)