aries-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christian Schneider (Jira)" <>
Subject [jira] [Resolved] (ARIES-1940) Failure during service export is not properly handled by RemoteServiceAdminCore
Date Fri, 08 Nov 2019 16:41:00 GMT


Christian Schneider resolved ARIES-1940.
      Assignee: Christian Schneider
    Resolution: Fixed

Many thanks for the PR. 

> Failure during service export is not properly handled by RemoteServiceAdminCore
> -------------------------------------------------------------------------------
>                 Key: ARIES-1940
>                 URL:
>             Project: Aries
>          Issue Type: Bug
>          Components: Remote Service Admin
>    Affects Versions: rsa-1.14.0
>         Environment: Apache Aries 1.14.0
> Apache Felix Framework 6.0.2
>            Reporter: Arnoud Glimmerveen
>            Assignee: Christian Schneider
>            Priority: Major
>             Fix For: rsa-1.15.0
>          Time Spent: 20m
>  Remaining Estimate: 0h
> When a DistributionProvider throws an Exception from the DistributionProvider.exportService()
method, the RemoteServiceAdminCore detects this properly and keeps track of this failure by
creating a ExportRegistration instance that references the thrown Exception.
> The specification mandates that if a service export failed, the ExportRegistration should
provide access to the thrown Exception (which the current implementation does) and that the
ExportReference of the ExportRegistration should throw an IllegalStateException.
> The current implementation of RemoteServiceAdminCore handles this in an inconsistent
> * The ExportRegistration.getExportReference() returns null rather then throwing the IllegalStateException
> * The use of ExportRegistration assumes that there always is an ExportReference instance.
This assumption is wrong in cases that the export failed.
> The latter triggers exceptions such as as the one below; typically triggered by an event
unrelated to the export service failure:
> {noformat}
> java.lang.NullPointerException
>                 at org.apache.aries.rsa.core.RemoteServiceAdminCore.removeServiceExports(
>                 at org.apache.aries.rsa.core.RemoteServiceAdminCore$2.serviceChanged(
>                 at org.apache.felix.framework.EventDispatcher.invokeServiceListenerCallback(
>                 at org.apache.felix.framework.EventDispatcher.fireEventImmediately(
>                 at org.apache.felix.framework.EventDispatcher.fireServiceEvent(
>                 at org.apache.felix.framework.Felix.fireServiceEvent(
>                 at org.apache.felix.framework.Felix.access$000(
>                 at org.apache.felix.framework.Felix$1.serviceChanged(
>                 at org.apache.felix.framework.ServiceRegistry.unregisterService(
>                 at org.apache.felix.framework.ServiceRegistrationImpl.unregister(
>                 ...
> {noformat}

This message was sent by Atlassian Jira

View raw message