[
https://issues.apache.org/jira/browse/FELIX-1792?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12768484#action_12768484
]
David Savage commented on FELIX-1792:
-------------------------------------
Hmmm one possible source of entropy could be the use of HashSets in the
ResolverImpl? I recently had make a similar fix to the sigil resolver, to use
LinkedLists vs HashSets. A cursory look at the code suggests the ResolverImpl
performs the resolution by iterating over a number of different HashSets which
are inherently unordered...so could lead to different graph traversals
depending on the already selected resources? I would need to do further
analysis to see if this is actually the case though...but thought it might be
of use...
> 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.