Uploaded image for project: 'Karaf'
  1. Karaf
  2. KARAF-1600

Avoid duplicate feature and bundle resolution when installing cascading features

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.2.8
    • 2.2.9, 2.3.0, 3.0.0
    • None

    Description

      Currently, if one has multiple features depending on each other, where the same features or bundles are referenced twice or more, Karaf will attempt to resolve/install them as many times as they are traversed.

      E.g., pseudo-code:

      feature a, contains:
        feature camel-core
        feature camel-spring
        bundle 1
        bundle 2
      
      feature b, contains:
        feature camel-jetty
        feature camel-http
        bundle 3
        bundle 4
      
      feature all, contains:
        feature a
        feature b
      

      When one installs feature "all", Karaf will end up resolving/attempting to install camel-core multiple times as it hits it via transitive dependencies (via a, via camel-jetty, via camel-http, etc.).

      As a result, an unnecessary delay is experienced and this could be optimised to perform a two-phase feature installation procedure instead:

      • calculate the install plan (kind of like building an effective POM in Maven) and prune duplicates
      • perform the install plan

      Attachments

        Activity

          People

            gertvanthienen Gert Vanthienen
            raulvk Raúl Kripalani
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: