You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Richard S. Hall (JIRA)" <ji...@apache.org> on 2010/08/06 20:41:15 UTC

[jira] Closed: (FELIX-2529) In some scenarios the resolver will not backtrack on imported package decisions

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

Richard S. Hall closed FELIX-2529.
----------------------------------

    Resolution: Fixed

I've committed a fix for this issue and demonstrated that it works in a specific scenario while still passing the CT and our tests.

> In some scenarios the resolver will not backtrack on imported package decisions
> -------------------------------------------------------------------------------
>
>                 Key: FELIX-2529
>                 URL: https://issues.apache.org/jira/browse/FELIX-2529
>             Project: Felix
>          Issue Type: Improvement
>          Components: Framework
>    Affects Versions: framework-3.0.0, framework-3.0.1
>            Reporter: Richard S. Hall
>            Assignee: Richard S. Hall
>             Fix For: framework-3.2.0
>
>
> The resolver algorithm detects class space consistency by calculating package spaces for each bundle (i.e., which packages it sees and from whom). It then starts at the root bundle and determines if its package space is consistent. If so, it then checks that any bundles the root bundle depends on are consistent. And so on.
> One issue with the current approach is that backtracking for imported packages is only occurring if a conflict is detected at a given level. However, it is possible that a conflict occurs at a lower level because an incorrect choice was made at an upper level. Currently, a lower level conflict only creates potential permutations at that level and throws an exception. If no permutations were possible at that level, then the exception just ends the current resolve attempt.
> The issue is that there may have been alternative decisions that could have been made at upper levels, so we need to catch exceptions from the lower levels so we can determine if there is a potential alternative at the upper level.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.