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.1, framework-3.0.0
            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.

Reply via email to