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.