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

Thomas Watson updated FELIX-4897:
---------------------------------
    Attachment: FELIX-4897.patch

Alternative fix.  This fix is likely better because it behaves more closely to 
the normal resolution flow where processCandidates is called before adding the 
candidate lists to the Candidates data structure.

> Dynamic package resolution with fragment package exports can lead to invalid 
> wirings
> ------------------------------------------------------------------------------------
>
>                 Key: FELIX-4897
>                 URL: https://issues.apache.org/jira/browse/FELIX-4897
>             Project: Felix
>          Issue Type: Bug
>          Components: Resolver
>    Affects Versions: resolver-1.0.0
>         Environment: All
>            Reporter: Thomas Watson
>         Attachments: FELIX-4897.patch
>
>
> Similar to FELIX-4428 but the behavior is a regression since the fix for 
> FELIX-4656 was released.  The issue is only with dynamic import package 
> resolution.  In this case a new CopyOnWriteList is created by 
> Candidates.add(Requirement, List<Capability>) from the method 
> Candidates.populateDynamic(ResolveContext, Resource, Requirement, 
> List<Capability>) but the original List<Capability> list may be modified in 
> the next call to Candidates.processCandidates(ResolveContext, Resource, 
> List<Capability>)
> The issue is that processCandidates is responsible for inserting hosted 
> capabilities into the candidates List.  Previously to the fix for FELIX-4656 
> the passed in List was used as is so modifying it later would effect the list 
> stored in the Candidates data structure also.  This is no longer the case.



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

Reply via email to