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

Avoid duplicate feature and bundle resolution when installing cascading features

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.2.8
    • Fix Version/s: 2.2.9, 2.3.0, 3.0.0
    • Component/s: None
    • Labels:

      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

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

              Dates

              • Created:
                Updated:
                Resolved: