felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas Watson (JIRA)" <j...@apache.org>
Subject [jira] [Closed] (FELIX-4989) CopyOnWriteList.removeAll(Collection<?>) is incorrect causing failures for multiple cardinality resolution
Date Thu, 20 Aug 2015 19:16:45 GMT

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

Thomas Watson closed FELIX-4989.
--------------------------------

Thanks for releasing the fix.

> CopyOnWriteList.removeAll(Collection<?>) is incorrect causing failures for multiple
cardinality resolution
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-4989
>                 URL: https://issues.apache.org/jira/browse/FELIX-4989
>             Project: Felix
>          Issue Type: Bug
>          Components: Resolver
>         Environment: All
>            Reporter: Thomas Watson
>            Assignee: Guillaume Nodet
>             Fix For: resolver-1.6.0
>
>         Attachments: CopyOnWriteList.patch
>
>
> The method org.apache.felix.resolver.Candidates.clearCandidates(Requirement, Collection<Capability>)
uses the List.removeAll method which is backed by the org.apache.felix.resolver.util.CopyOnWriteList.removeAll(Collection<?>)
implementation.
> clearCandidates is used when a requirement has multiple cardinality and some subset of
candidates causes a uses constraint violation.  The clearCandidates method will remove the
offending capabilities as long as there is at least one remaining capability that does not
cause a uses constraint violation.  The issue is the CopyOnWriteList.removeAll is not correct.
 If the last element in the list is the only element to be removed then the logic ends up
removing all elements (by constructing and empty data array).



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

Mime
View raw message