Uploaded image for project: 'Aries'
  1. Aries
  2. ARIES-1485

java.lang.UnsupportedOperationException when a hosted capability is being inserted by the resolver.

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • subsystem-2.0.8
    • subsystem-2.0.10
    • Subsystem
    • None

    Description

      This is similar to ARIES-1439. There are two resolve contexts in subsystems. One is used for the "real" resolution of a subsystem at start time. This is used for all subsystems and the one that was modified in that other issue. The second one is used in order to calculate the dependencies of a subsystem as part of installation. This one is only used for applications and features since composites explicitly define their sharing policies.

      Although, based on FELIX-4727, the resolver will be updated to implement the optional add() method, there are releases out there that don't. The same change made in ARIES-1439 should be made in the second resolve context for consistency and to avoid any issues.

      Caused by: java.lang.UnsupportedOperationException
      at org.apache.felix.resolver.util.CopyOnWriteList.add(CopyOnWriteList.java:135)
      at org.apache.aries.subsystem.core.internal.DependencyCalculator$ResolveContext.insertHostedCapability(DependencyCalculator.java:86)
      at org.apache.felix.resolver.Candidates.prepare(Candidates.java:934)
      at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:232)
      at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:158)
      at org.apache.aries.subsystem.core.internal.DependencyCalculator.calculateDependencies(DependencyCalculator.java:163)
      at org.apache.aries.subsystem.core.internal.RawSubsystemResource.computeRequirements(RawSubsystemResource.java:447)
      at org.apache.aries.subsystem.core.internal.RawSubsystemResource.<init>(RawSubsystemResource.java:138)
      at org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:91)
      at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:54)

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            jwross@us.ibm.com John Ross
            jwross@us.ibm.com John Ross
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment