[ https://issues.apache.org/jira/browse/FELIX-5254?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thomas Watson resolved FELIX-5254. ---------------------------------- Resolution: Fixed Assignee: Thomas Watson I released a fix that introduced a class CandidateSelector which replaces the CopyOnWriteList implementation. This class maintains an unmodifiable list and an index to the currently selected candidate. There is a period of time during the "populate" phase of resolving where the list of candidates is modifiable in order to handle hosted capabilities from fragments and substitutable exports. > Improve structure of permutations to use unmodifiable capability lists > ---------------------------------------------------------------------- > > Key: FELIX-5254 > URL: https://issues.apache.org/jira/browse/FELIX-5254 > Project: Felix > Issue Type: Bug > Components: Resolver > Affects Versions: resolver-1.8.0 > Environment: All > Reporter: Thomas Watson > Assignee: Thomas Watson > > As discussed on the felix dev mailing list: > Implement a capability selection collection that > points to a constant list of capabilities and has an index to the currently > selected candidate for that permutation. That way there is no copying of > the constant list, instead we have a super lightweight collection that > points to the unmodifiable list of capabilities and just has an index. > Changing a Permutation would only involve incrementing that index instead > of removing from a copy on write list. We can then get rid of duplicate > capability lists since the list is unmodifiable it can be shared with > multiple selection index lists. -- This message was sent by Atlassian JIRA (v6.3.4#6332)