Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-8553

Adding external contexts breaks resolution of non-external on demand resources

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Critical
    • Resolution: Done
    • Affects Version/s: 11.0.0.Alpha1
    • Fix Version/s: 11.0.0.Beta1
    • Component/s: Naming
    • Labels:
      None

      Description

      The logic in ContextNames.BindInfo.setupLookupInjection(...) does not correctly establish dependencies for non-external context in the presence of external contexts.
      Take the resource: java:jboss/infinispan/cache/mycontainer/mycache
      The service registered under this name is installed on-demand. When no external contexts are defined, ExternalContexts.getParentExternalContext(...) returns null and the dependency is established correctly. However, when there are external contexts whose name is lexicographically larger than the external context, the ExternalContexts.getParentExternalContext(...) returns the ServiceName of the lexicographically smallest external context, i.e. the result of NavigableSet.lower(...), where the set contains the ServiceName of all external contexts. Therefore, if a user defines an external context with name "java:global/foo", a call to ContextNames.BindInfo.setupLookupInjection(...) for the jndi name above will establish a dependency on "java:global/foo" instead of the correct service name corresponding to the non-external context.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  emmartins Eduardo Martins
                  Reporter:
                  pferraro Paul Ferraro
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: