[ 
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

Possible fix is to return the internal copy of the candidates when adding them 
to Candidates so we can modify them correctly when inserting hosted 
capabilities for dynamic package resolution

> 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