You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by "Tom De Wolf (JIRA)" <ji...@apache.org> on 2016/08/08 13:36:20 UTC

[jira] [Created] (ARIES-1590) Subsystem install fails due to unexpected resolve conflict

Tom De Wolf created ARIES-1590:
----------------------------------

             Summary: Subsystem install fails due to unexpected resolve conflict
                 Key: ARIES-1590
                 URL: https://issues.apache.org/jira/browse/ARIES-1590
             Project: Aries
          Issue Type: Bug
          Components: Subsystem
            Reporter: Tom De Wolf
            Priority: Blocker
             Fix For: subsystem-2.1.0


When we use the 2.0.9-SNAPSHOT version currently in development we get an unexpected resolve conflict:

{panel}
DEBUG: Candidate permutation failed due to a conflict between imports; will try another if possible. (org.osgi.service.resolver.ResolutionException: Uses constraint violation. Unable to resolve resource com.reproduce.reproduce-bundle [/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract8165788265469364064.zip/reproduce-bundle-4.1.2-SNAPSHOT.jar] because it is exposed to package 'org.springframework.beans' from resources com.reproduce.reproduce-base-subsystem [org.apache.aries.subsystem.core.internal.BasicSubsystem: children=0, constituents=70, id=1, location=file:///Users/tom/Documents/code/aca-common/osgi-subsystem-support/reproduce-base-subsystem/target/reproduce-base-subsystem-4.1.2-SNAPSHOT.esa, parents=1, state=INSTALLED, symbolicName=com.reproduce.reproduce-base-subsystem, type=osgi.subsystem.feature, version=4.1.2.SNAPSHOT] and org.apache.servicemix.bundles.spring-beans [73.0] via two dependency chains.

Chain 1:
  com.reproduce.reproduce-bundle [/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract8165788265469364064.zip/reproduce-bundle-4.1.2-SNAPSHOT.jar]
    import: (&(osgi.wiring.package=org.springframework.beans)(version>=0.0.0))
     |
    export: osgi.wiring.package: org.springframework.beans
  com.reproduce.reproduce-base-subsystem [org.apache.aries.subsystem.core.internal.BasicSubsystem: children=0, constituents=70, id=1, location=file:///Users/tom/Documents/code/aca-common/osgi-subsystem-support/reproduce-base-subsystem/target/reproduce-base-subsystem-4.1.2-SNAPSHOT.esa, parents=1, state=INSTALLED, symbolicName=com.reproduce.reproduce-base-subsystem, type=osgi.subsystem.feature, version=4.1.2.SNAPSHOT]

Chain 2:
  com.reproduce.reproduce-bundle [/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract8165788265469364064.zip/reproduce-bundle-4.1.2-SNAPSHOT.jar]
    import: (&(osgi.wiring.package=org.springframework.beans.factory.annotation)(version>=0.0.0))
     |
    export: osgi.wiring.package: org.springframework.beans.factory.annotation; uses:=org.springframework.beans
    export: osgi.wiring.package=org.springframework.beans
  org.apache.servicemix.bundles.spring-beans [73.0])
{panel}

It is unexpected because 1 of the 2 chains points to the actual bundle that exports the package and the other of the 2 chains points to the base subsystem already installed in the runtime. In fact the bundle is part of that subsystem so it should consider both as exactly the same and not consider it as 2 chains he cannot resolve.

Not sure if it is related to ARIES-1588 and the commit mentioned there but that commit does affect how already installed subsystems are taken into account in the resolve process.

Note: we are using the felix resolver 1.4.0



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)