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 2009/10/21 23:28:59 UTC

[jira] Commented: (FELIX-1792) Felix OBR seems to just randomly choose one of the satisifed bundles if more than one bundle meets the requirement

    [ https://issues.apache.org/jira/browse/FELIX-1792?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12768469#action_12768469 ] 

Richard S. Hall commented on FELIX-1792:
----------------------------------------

OBR tries to select the highest version among matching candidates, however there are cases where this might not be the case. For example, if you explicitly added the lower version resource to the set of resources to be resolved, then OBR would prefer the added resource over including another resource exporting a higher version of the package. Another example is if a lower version of the resource was already selected to resolve a different dependency of another resource being resolved, in that case OBR would favor the already selected resource rather than adding another resource exporting the same package again.

OBR tries to limit the number of bundles it is going to download. It is not random, although it may not be completely obvious.


> 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: felix-1.8.0
>         Environment: n/a
>            Reporter: david small99
>
> 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.