[ https://issues.apache.org/jira/browse/FELIX-1792?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12799915#action_12799915 ]
Richard S. Hall commented on FELIX-1792: ---------------------------------------- It was not a deadlock, but an infinite loop. In my last patch, I was attempting to remove a Resource from the list of candidates when it failed to resolve, but I should have been removing a Capability. As a result, the list never got smaller, which led to an infinite loop. I fixed it and your example now works for me. I deployed a new snapshot, let me know if you run into any other issues. Thanks. > Felix OBR seems to just randomly choose one of the satisifed bundles if more > than one bundle meets the requirement > ------------------------------------------------------------------------------------------------------------------ > > Key: FELIX-1792 > URL: https://issues.apache.org/jira/browse/FELIX-1792 > Project: Felix > Issue Type: Bug > Components: Bundle Repository (OBR) > Affects Versions: bundlerepository-1.4.2 > Environment: n/a > Reporter: david small99 > Assignee: Richard S. Hall > Fix For: bundlerepository-1.6.0 > > > I have one bundle bundle1, which imports a package called com.obr.bundle > Bundle1's manifest: > Manifest-Version: 1.0 > Ant-Version: Apache Ant 1.7.0 > Bundle-ManifestVersion: 2 > Bundle-Name: Bundle Plug-in > Bundle-SymbolicName: com.obr.bundle1 > Bundle-Version: 1.0.0 > Export-Package: com.obr.bundle1 > Import-Package: com.obr.bundle;version="[1.2.0.999,3.2.2.bz]" > There are two bundles in my repositories, bundler2 and bundle 3. Both of them > export package com.obr.bundle. Below are their manifest files. > Bundle2 > Manifest-Version: 1.0 > Ant-Version: Apache Ant 1.7.0 > Bundle-ManifestVersion: 2 > Bundle-Name: Bundle Plug-in > Bundle-SymbolicName: com.obr.bundle2 > Bundle-Version: 1.0.0 > Bundle-Vendor: xxx > Import-Package: a.b.c > Export-Package: com.obr.bundle;version=3.2.2.blah > Bundle3: > Manifest-Version: 1.0 > Ant-Version: Apache Ant 1.7.0 > Bundle-ManifestVersion: 2 > Bundle-Name: Bundle Plug-in > Bundle-SymbolicName: com.obr.bundle3 > Bundle-Version: 1.0.0 > Import-Package: a.b.c > Export-Package: com.obr.bundle;version=3.1 > As you can see, both bundle2 and bundle3 meet the requirements of bundle1. I > hope the highest package version, which is bundle2, is chosen by felix obr. > However, sometimes bundle 3 was chosen instead of bundle2. The behaviour is > random. > Am I right to say that the Felix obr runtime just picks the first bundle that > meets the requirements and then stop searching for any more eligible bundles? > Thanks -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.