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] [Updated] (FELIX-4497) Invalid wirings may result from substitutable exports
Date Thu, 24 Apr 2014 20:37:18 GMT

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

Thomas Watson updated FELIX-4497:
---------------------------------

    Attachment: org.apache.felix.resolver.patch

This patch takes an approach that uses two steps:

1) During the prepare phase (end of populate phase) establish a table of Capability->Requirement
that maps each capability to the requirement that potentially could be used to substitute
the capability

2) For each permutation: check for substitutes.  If substitutes are found then A) create a
new permutation that selects the next candidate for the substitution requirement and B) for
the existing permutation remove the substituted capability as the candidate

> Invalid wirings may result from substitutable exports
> -----------------------------------------------------
>
>                 Key: FELIX-4497
>                 URL: https://issues.apache.org/jira/browse/FELIX-4497
>             Project: Felix
>          Issue Type: Bug
>            Reporter: Thomas Watson
>         Attachments: org.apache.felix.resolver.patch
>
>
> FELIX-737 is a framework issue but the same issue also exists in the standalone resolver
implementation.  I am opening a separate bug to specifically address the issue in the standalone
resolver implementation.
> The felix framework resolve has a known issue with substitutable exports FELIX-737. 
The scenario is pretty complex.  It involves bundles multiple bundles that export and import
the same package X at different versions and an importer that imports the package with a range
that requires a specific package.  If that specific package gets substituted there are cases
where the resolver will return wires to the substituted export.
> The ideal solution would do something smart with selection of substituted exports so
that different combinations or selections can be made if the first substitution did not provide
good results.  This potentially will explode the permutations.  For now we should at least
change the current permutation to drop the substituted exports so that invalid wires do not
get created.  That could drop some good valid combinations, but that is better than the current
state where completely invalid wires get created.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message