Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Critical
    • Resolution: Duplicate Issue
    • Affects Version/s: 7.2.0.GA.CR1
    • Fix Version/s: None
    • Component/s: EJB
    • Labels:
      None

      Description

      If a deployment contains more than 2730 EJBs, the deployment's INSTALL phase will get a stack trace like this:

      2018-03-25 08:22:34,115 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC000001: Failed to start service jboss.deployment.unit."example.jar".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."example.jar".INSTALL: WFLYSRV0153: Failed to process phase INSTALL of deployment "example.jar"
              at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:154)
              at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
              at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
              at java.lang.Thread.run(Thread.java:748)
      Caused by: java.lang.IllegalArgumentException: Too many dependencies specified (max is 16383)    .......... (*1)
              at org.jboss.msc.service.ServiceBuilderImpl.doAddDependency(ServiceBuilderImpl.java:216)
              at org.jboss.msc.service.ServiceBuilderImpl.addDependenciesNoCheck(ServiceBuilderImpl.java:158)
              at org.jboss.msc.service.ServiceBuilderImpl.addDependencies(ServiceBuilderImpl.java:152)
              at org.jboss.msc.service.ServiceBuilderImpl.addDependencies(ServiceBuilderImpl.java:142)
              at org.jboss.as.naming.deployment.JndiNamingDependencyProcessor.deploy(JndiNamingDependencyProcessor.java:59)
              at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:147)
              ... 5 more
      

      The reason is that the INSTALL phase has six additional dependencies per EJB:

      • service jboss.naming.context.java.comp.example.example.<class-name>.InAppClientContainer
      • service jboss.naming.context.java.comp.example.example.<class-name>.InstanceName
      • service jboss.deployment.unit."example.jar".component.<class-name>.JndiBindingsService
      • service jboss.naming.context.java.comp.example.example.<class-name>.UserTransaction
      • service jboss.naming.context.java.comp.example.example.<class-name>.TransactionSynchronizationRegistry
      • service jboss.naming.context.java.comp.example.example.<class-name>.BeanManager

      We probably should not be creating N dependencies per deployment object since all the services of a given kind are always started together. They could be grouped at a deployment level instead.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  rpelisse Romain Pelisse
                  Reporter:
                  mjurc Michal Jurc
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  5 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: