felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Renat Sabitov (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (FELIX-5485) ServiceReference#getUsingBundles() returns usages with 0 count
Date Wed, 11 Jan 2017 06:12:58 GMT

     [ https://issues.apache.org/jira/browse/FELIX-5485?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Renat Sabitov updated FELIX-5485:
---------------------------------
    Attachment:     (was: FELIX-5485.diff)

> ServiceReference#getUsingBundles() returns usages with 0 count
> --------------------------------------------------------------
>
>                 Key: FELIX-5485
>                 URL: https://issues.apache.org/jira/browse/FELIX-5485
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: framework-5.6.0
>            Reporter: Renat Sabitov
>            Priority: Minor
>
> Javadoc for ServiceReference#getUsingBundles() states 
> {quote}
> Specifically, this method returns the bundles whose usage count for that service is greater
than zero.
> {quote}
> However, the implementation uses ServiceRegistry#getUsingBundles(ServiceReference<?>
ref), which returns usages even if usage count is 0. 
> The usage count is 0, because ServiceRegistry#ungetService doesn't call ServiceRegistry#flushUsageCount
for non-prototype services:
> {quote}
>                 // If the registration is invalid or the usage count for a prototype
>                 // reached zero, then flush it. Non-prototype services are not flushed
>                 // on ungetService() when they reach 0 as this introduces a race
>                 // condition of concurrently the same service is obtained via getService()
> {quote}
> Expected: 
> ServiceReference#getUsingBundles() doesn't return usages with 0 count



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message