Description of problem: Adding the modcluster subsystem and then reloading hits an IllegalStateException upon reload: java.lang.IllegalStateException: JBAS018786: Multiple Deployment Unit registered processors with priority class 7170 and class org.jboss.as.modcluster.ModClusterServiceWebDependencyProcessor at org.jboss.as.server.DeployerChainAddHandler.addDeploymentProcessor(DeployerChainAddHandler.java:63) at org.jboss.as.server.AbstractDeploymentChainStep$1.addDeploymentProcessor(AbstractDeploymentChainStep.java:40) at org.jboss.as.modcluster.ModClusterSubsystemAdd$1.execute(ModClusterSubsystemAdd.java:96) at org.jboss.as.server.AbstractDeploymentChainStep.execute(AbstractDeploymentChainStep.java:50) at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:702) [jboss-as-controller-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21] at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:537) [jboss-as-controller-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21] at org.jboss.as.controller.AbstractOperationContext.completeStepInternal(AbstractOperationContext.java:338) Version-Release number of selected component (if applicable): EAP 6.4.4 How reproducible: Always Steps to Reproduce: 1. Start JBoss with default standalone.xml 2. Issue following CLI commands [standalone@localhost:9999 /] /extension=org.jboss.as.modcluster:add [standalone@localhost:9999 /] batch [standalone@localhost:9999 / #] /subsystem=modcluster:add() [standalone@localhost:9999 / #] /subsystem=modcluster/mod-cluster-config=configuration:add(connector=http,advertise="false",proxy-list="127.0.0.1:6666") [standalone@localhost:9999 / #] run-batch [standalone@localhost:9999 /] :reload 3. Note the error upon reload Actual results: JBoss fails upon reload after adding the modcluster subsystem Expected results: JBoss does not fail upon reload after adding the modcluster subsystem Additional info: EAP 6 currently adds modcluster through a runtime operation so the commands leave a ModClusterServiceWebDependencyProcessor in the DeployerChainAddHandler deployerMap, allowing for the reload failure. Upstream wildfly modcluster uses a boottime operation, which avoids this issue, so EAP 6 should likely do the same.
PR: https://github.com/jbossas/jboss-eap/pull/2589
Verified with EAP 6.4.6.CP.CR2
Retroactively bulk-closing issues from released EAP 6.4 cumulative patches.