[jboss-jira] [JBoss JIRA] (WFLY-7987) Remove operations should warn the user if the resource has any dependents

Guillermo González de Agüero (JIRA) issues at jboss.org
Sun Jan 29 04:41:00 EST 2017


    [ https://issues.jboss.org/browse/WFLY-7987?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13354575#comment-13354575 ] 

Guillermo González de Agüero commented on WFLY-7987:
----------------------------------------------------

I've done some tests on WF11 nightly and the capabilities are still missing.

Changing the default Servlet Container for a host to an inexisting one successes at runtime but results in an intimidating cascade of errors after reload:
{code}
09:30:05,597 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([("subsystem" => "jsr77")]) - failure description: {"WFLYCTL0288: One or more services were unable to start due to one or more indirect dependencies not being available." => {
    "Services that were unable to start:" => ["jboss.jsr77.ejb"],
    "Services that may be the cause:" => [
        "jboss.http-upgrade-registry.default",
        "jboss.naming.context.java.JmsXA",
        "jboss.remoting.remotingConnectorInfoService.http-remoting-connector",
        "jboss.undertow.servlet-container.xxx"
    ]
}}
09:30:05,604 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
    ("subsystem" => "messaging-activemq"),
    ("server" => "default")
]) - failure description: {
    "WFLYCTL0412: Required services that are not installed:" => ["jboss.http-upgrade-registry.default"],
    "WFLYCTL0180: Services with missing/unavailable dependencies" => ["jboss.messaging-activemq.default is missing [jboss.http-upgrade-registry.default]"],
    "WFLYCTL0288: One or more services were unable to start due to one or more indirect dependencies not being available." => {
        "Services that were unable to start:" => ["jboss.messaging-activemq.default.jms.manager"],
        "Services that may be the cause:" => [
            "jboss.http-upgrade-registry.default",
            "jboss.naming.context.java.JmsXA",
            "jboss.remoting.remotingConnectorInfoService.http-remoting-connector",
            "jboss.undertow.servlet-container.xxx"
        ]
    }
}
09:30:05,615 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
    ("subsystem" => "undertow"),
    ("server" => "default-server")
]) - failure description: {
    "WFLYCTL0412: Required services that are not installed:" => ["jboss.undertow.servlet-container.xxx"],
    "WFLYCTL0180: Services with missing/unavailable dependencies" => ["jboss.undertow.server.default-server is missing [jboss.undertow.servlet-container.xxx]"]
}
09:30:05,635 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
    ("subsystem" => "undertow"),
    ("server" => "default-server"),
    ("http-listener" => "default")
]) - failure description: {"WFLYCTL0288: One or more services were unable to start due to one or more indirect dependencies not being available." => {
    "Services that were unable to start:" => ["jboss.undertow.listener.default"],
    "Services that may be the cause:" => [
        "jboss.http-upgrade-registry.default",
        "jboss.naming.context.java.JmsXA",
        "jboss.remoting.remotingConnectorInfoService.http-remoting-connector",
        "jboss.undertow.servlet-container.xxx"
    ]
}}
09:30:05,644 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
    ("subsystem" => "undertow"),
    ("server" => "default-server"),
    ("https-listener" => "https")
]) - failure description: {"WFLYCTL0288: One or more services were unable to start due to one or more indirect dependencies not being available." => {
    "Services that were unable to start:" => ["jboss.undertow.listener.https"],
    "Services that may be the cause:" => [
        "jboss.http-upgrade-registry.default",
        "jboss.naming.context.java.JmsXA",
        "jboss.remoting.remotingConnectorInfoService.http-remoting-connector",
        "jboss.undertow.servlet-container.xxx"
    ]
}}
09:30:05,652 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
    ("subsystem" => "undertow"),
    ("server" => "default-server"),
    ("host" => "default-host")
]) - failure description: {"WFLYCTL0288: One or more services were unable to start due to one or more indirect dependencies not being available." => {
    "Services that were unable to start:" => ["jboss.undertow.server.default-server.default-host"],
    "Services that may be the cause:" => [
        "jboss.http-upgrade-registry.default",
        "jboss.naming.context.java.JmsXA",
        "jboss.remoting.remotingConnectorInfoService.http-remoting-connector",
        "jboss.undertow.servlet-container.xxx"
    ]
}}
09:30:05,659 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
    ("subsystem" => "undertow"),
    ("server" => "default-server"),
    ("host" => "default-host"),
    ("location" => "/")
]) - failure description: {"WFLYCTL0288: One or more services were unable to start due to one or more indirect dependencies not being available." => {
    "Services that were unable to start:" => ["jboss.undertow.server.default-server.default-host.location./"],
    "Services that may be the cause:" => [
        "jboss.http-upgrade-registry.default",
        "jboss.naming.context.java.JmsXA",
        "jboss.remoting.remotingConnectorInfoService.http-remoting-connector",
        "jboss.undertow.servlet-container.xxx"
    ]
}}
09:30:05,674 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
    ("subsystem" => "undertow"),
    ("server" => "default-server"),
    ("host" => "default-host"),
    ("filter-ref" => "server-header")
]) - failure description: {"WFLYCTL0288: One or more services were unable to start due to one or more indirect dependencies not being available." => {
    "Services that were unable to start:" => ["jboss.undertow.server.default-server.default-host.filter-ref.server-header"],
    "Services that may be the cause:" => [
        "jboss.http-upgrade-registry.default",
        "jboss.naming.context.java.JmsXA",
        "jboss.remoting.remotingConnectorInfoService.http-remoting-connector",
        "jboss.undertow.servlet-container.xxx"
    ]
}}
09:30:05,679 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
    ("subsystem" => "undertow"),
    ("server" => "default-server"),
    ("host" => "default-host"),
    ("filter-ref" => "x-powered-by-header")
]) - failure description: {"WFLYCTL0288: One or more services were unable to start due to one or more indirect dependencies not being available." => {
    "Services that were unable to start:" => ["jboss.undertow.server.default-server.default-host.filter-ref.x-powered-by-header"],
    "Services that may be the cause:" => [
        "jboss.http-upgrade-registry.default",
        "jboss.naming.context.java.JmsXA",
        "jboss.remoting.remotingConnectorInfoService.http-remoting-connector",
        "jboss.undertow.servlet-container.xxx"
    ]
}}
09:30:05,682 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([("subsystem" => "webservices")]) - failure description: {"WFLYCTL0288: One or more services were unable to start due to one or more indirect dependencies not being available." => {
    "Services that were unable to start:" => ["jboss.ws.config"],
    "Services that may be the cause:" => [
        "jboss.http-upgrade-registry.default",
        "jboss.naming.context.java.JmsXA",
        "jboss.remoting.remotingConnectorInfoService.http-remoting-connector",
        "jboss.undertow.servlet-container.xxx"
    ]
}}
09:30:05,684 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([("subsystem" => "ejb3")]) - failure description: {"WFLYCTL0288: One or more services were unable to start due to one or more indirect dependencies not being available." => {
    "Services that were unable to start:" => [
        "jboss.ejb.default-local-ejb-receiver-service",
        "jboss.ejb3.ejbClientContext.default",
        "jboss.ejb3.localEjbReceiver.value"
    ],
    "Services that may be the cause:" => [
        "jboss.http-upgrade-registry.default",
        "jboss.naming.context.java.JmsXA",
        "jboss.remoting.remotingConnectorInfoService.http-remoting-connector",
        "jboss.undertow.servlet-container.xxx"
    ]
}}
09:30:05,686 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
    ("subsystem" => "ejb3"),
    ("service" => "remote")
]) - failure description: {
    "WFLYCTL0412: Required services that are not installed:" => ["jboss.remoting.remotingConnectorInfoService.http-remoting-connector"],
    "WFLYCTL0180: Services with missing/unavailable dependencies" => ["jboss.ejb3.connector is missing [jboss.remoting.remotingConnectorInfoService.http-remoting-connector]"]
}
{code}

Trying to change the EJB MDB instance pool to an inexistent detects the error and reverts the operation:
{code}
[standalone at localhost:9990 /] /subsystem=ejb3:write-attribute(name=default-mdb-instance-pool, value=xxxx)
{
    "outcome" => "failed",
    "failure-description" => {
        "WFLYCTL0412: Required services that are not installed:" => ["jboss.ejb.pool-config.xxxx"],
        "WFLYCTL0180: Services with missing/unavailable dependencies" => ["jboss.ejb.pool-config.mdb-default is missing [jboss.ejb.pool-config.xxxx]"]
    },
    "rolled-back" => true
}
{code}

The server console logs the failed operation and a little confusing info message that seems to indicate that the change has taken place (which is not the case).
{code}
09:41:43,278 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 3) WFLYCTL0013: Operation ("write-attribute") failed - address: ([("subsystem" => "ejb3")]) - failure description: {
    "WFLYCTL0412: Required services that are not installed:" => ["jboss.ejb.pool-config.xxxx"],
    "WFLYCTL0180: Services with missing/unavailable dependencies" => ["jboss.ejb.pool-config.mdb-default is missing [jboss.ejb.pool-config.xxxx]"]
}
09:41:43,284 INFO  [org.jboss.as.controller] (management-handler-thread - 3) WFLYCTL0183: Service status report
WFLYCTL0184:    New missing/unsatisfied dependencies:
      service jboss.ejb.pool-config.xxxx (missing) dependents: [service jboss.ejb.pool-config.mdb-default] 
{code}

However, removing the default (and used) MDB pool results in an error:
{code}
09:47:30,164 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([("subsystem" => "ejb3")]) - failure description: {
    "WFLYCTL0412: Required services that are not installed:" => ["jboss.ejb.pool-config.mdb-strict-max-pool"],
    "WFLYCTL0180: Services with missing/unavailable dependencies" => ["jboss.ejb.pool-config.mdb-default is missing [jboss.ejb.pool-config.mdb-strict-max-pool]"]
}
{code}

The worst case is when changing the thread pool for the Async EJB service, as the error is only shown when deploying an application that makes use of it:
{code}
09:56:14,120 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-4) WFLYSRV0027: Starting deployment of "asyncejb-1.0-SNAPSHOT.war" (runtime-name: "asyncejb-1.0-SNAPSHOT.war")
09:56:16,228 INFO  [org.jboss.weld.deployer] (MSC service thread 1-1) WFLYWELD0003: Processing weld deployment asyncejb-1.0-SNAPSHOT.war
09:56:16,926 INFO  [org.hibernate.validator.internal.util.Version] (MSC service thread 1-1) HV000001: Hibernate Validator 5.3.4.Final
09:56:17,495 INFO  [org.jboss.as.ejb3.deployment] (MSC service thread 1-1) WFLYEJB0473: JNDI bindings for session bean named 'EJB' in deployment unit 'deployment "asyncejb-1.0-SNAPSHOT.war"' are as follows:

	java:global/asyncejb-1.0-SNAPSHOT/EJB!es.guillermogonzalezdeaguero.asyncejb.EJB
	java:app/asyncejb-1.0-SNAPSHOT/EJB!es.guillermogonzalezdeaguero.asyncejb.EJB
	java:module/EJB!es.guillermogonzalezdeaguero.asyncejb.EJB
	java:global/asyncejb-1.0-SNAPSHOT/EJB
	java:app/asyncejb-1.0-SNAPSHOT/EJB
	java:module/EJB

09:56:19,246 INFO  [org.jboss.weld.Version] (MSC service thread 1-3) WELD-000900: 2.4.1 (Final)
09:56:22,205 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 72) WFLYCLINF0002: Started client-mappings cache from ejb container
09:56:22,471 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 7) WFLYCTL0013: Operation ("deploy") failed - address: ({"deployment" => "asyncejb-1.0-SNAPSHOT.war"}) - failure description: {
    "WFLYCTL0412: Required services that are not installed:" => ["jboss.thread.executor.ejb3.xxx"],
    "WFLYCTL0180: Services with missing/unavailable dependencies" => ["jboss.deployment.unit.\"asyncejb-1.0-SNAPSHOT.war\".component.EJB.CREATE is missing [jboss.thread.executor.ejb3.xxx]"]
}
09:56:22,545 ERROR [org.jboss.as.server] (management-handler-thread - 7) WFLYSRV0021: Deploy of deployment "asyncejb-1.0-SNAPSHOT.war" was rolled back with the following failure message: 
{
    "WFLYCTL0412: Required services that are not installed:" => ["jboss.thread.executor.ejb3.xxx"],
    "WFLYCTL0180: Services with missing/unavailable dependencies" => ["jboss.deployment.unit.\"asyncejb-1.0-SNAPSHOT.war\".component.EJB.CREATE is missing [jboss.thread.executor.ejb3.xxx]"]
}
09:56:22,628 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 72) WFLYCLINF0003: Stopped client-mappings cache from ejb container
09:56:22,754 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) WFLYSRV0028: Stopped deployment asyncejb-1.0-SNAPSHOT.war (runtime-name: asyncejb-1.0-SNAPSHOT.war) in 207ms
09:56:22,775 INFO  [org.jboss.as.controller] (management-handler-thread - 7) WFLYCTL0183: Service status report
WFLYCTL0184:    New missing/unsatisfied dependencies:
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".WeldBootstrapService (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."org.jboss.weld.servlet.WeldInitialListener".WeldInstantiator, service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."org.jboss.weld.servlet.WeldTerminalListener".WeldInstantiator, service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".WeldStartService, service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."com.sun.faces.config.ConfigureListener".WeldInstantiator, WFLYCTL0208: ... and 6 more ] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".WeldStartService (missing) dependents: [service jboss.undertow.deployment.default-server.default-host."/asyncejb-1.0-SNAPSHOT", service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."org.jboss.weld.servlet.WeldInitialListener".WeldInstantiator, service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."org.jboss.weld.servlet.WeldTerminalListener".WeldInstantiator, service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."com.sun.faces.config.ConfigureListener".WeldInstantiator, WFLYCTL0208: ... and 8 more ] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".beanmanager (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".CdiValidatorFactoryService] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component.EJB.CREATE (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".moduleDeploymentRuntimeInformation, service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component.EJB.VIEW."es.guillermogonzalezdeaguero.asyncejb.EJB".LOCAL, service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component.EJB.START] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component.EJB.JndiBindingsService (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".jndiDependencyService] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component.EJB.START (missing) dependents: [service jboss.undertow.deployment.default-server.default-host."/asyncejb-1.0-SNAPSHOT", service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".deploymentCompleteService, service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".moduleDeploymentRuntimeInformationStart] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component.EJB.VIEW."es.guillermogonzalezdeaguero.asyncejb.EJB".LOCAL (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".moduleDeploymentRuntimeInformation, service jboss.naming.context.java.app."asyncejb-1.0-SNAPSHOT"."asyncejb-1.0-SNAPSHOT"."EJB!es.guillermogonzalezdeaguero.asyncejb.EJB", service jboss.naming.context.java.global."asyncejb-1.0-SNAPSHOT".EJB, service jboss.naming.context.java.module."asyncejb-1.0-SNAPSHOT"."asyncejb-1.0-SNAPSHOT".EJB, WFLYCTL0208: ... and 5 more ] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component.EJB.WeldInstantiator (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component.EJB.START] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component.EJB.WeldInterceptorBindingsService (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component.EJB.WeldInstantiator] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component.EJB.ejb.non-functional-timerservice (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component.EJB.START] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."com.sun.faces.config.ConfigureListener".CREATE (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."com.sun.faces.config.ConfigureListener".START] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."com.sun.faces.config.ConfigureListener".JndiBindingsService (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".jndiDependencyService] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."com.sun.faces.config.ConfigureListener".START (missing) dependents: [service jboss.undertow.deployment.default-server.default-host."/asyncejb-1.0-SNAPSHOT", service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".deploymentCompleteService] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."com.sun.faces.config.ConfigureListener".WeldInstantiator (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."com.sun.faces.config.ConfigureListener".START] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."javax.faces.webapp.FacetTag".CREATE (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."javax.faces.webapp.FacetTag".START] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."javax.faces.webapp.FacetTag".JndiBindingsService (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".jndiDependencyService] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."javax.faces.webapp.FacetTag".START (missing) dependents: [service jboss.undertow.deployment.default-server.default-host."/asyncejb-1.0-SNAPSHOT", service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".deploymentCompleteService] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."javax.faces.webapp.FacetTag".WeldInstantiator (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."javax.faces.webapp.FacetTag".START] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."javax.servlet.jsp.jstl.tlv.PermittedTaglibsTLV".CREATE (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."javax.servlet.jsp.jstl.tlv.PermittedTaglibsTLV".START] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."javax.servlet.jsp.jstl.tlv.PermittedTaglibsTLV".JndiBindingsService (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".jndiDependencyService] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."javax.servlet.jsp.jstl.tlv.PermittedTaglibsTLV".START (missing) dependents: [service jboss.undertow.deployment.default-server.default-host."/asyncejb-1.0-SNAPSHOT", service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".deploymentCompleteService] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."javax.servlet.jsp.jstl.tlv.PermittedTaglibsTLV".WeldInstantiator (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."javax.servlet.jsp.jstl.tlv.PermittedTaglibsTLV".START] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."javax.servlet.jsp.jstl.tlv.ScriptFreeTLV".CREATE (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."javax.servlet.jsp.jstl.tlv.ScriptFreeTLV".START] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."javax.servlet.jsp.jstl.tlv.ScriptFreeTLV".JndiBindingsService (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".jndiDependencyService] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."javax.servlet.jsp.jstl.tlv.ScriptFreeTLV".START (missing) dependents: [service jboss.undertow.deployment.default-server.default-host."/asyncejb-1.0-SNAPSHOT", service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".deploymentCompleteService] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."javax.servlet.jsp.jstl.tlv.ScriptFreeTLV".WeldInstantiator (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."javax.servlet.jsp.jstl.tlv.ScriptFreeTLV".START] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."org.jboss.weld.servlet.WeldInitialListener".CREATE (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."org.jboss.weld.servlet.WeldInitialListener".START] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."org.jboss.weld.servlet.WeldInitialListener".JndiBindingsService (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".jndiDependencyService] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."org.jboss.weld.servlet.WeldInitialListener".START (missing) dependents: [service jboss.undertow.deployment.default-server.default-host."/asyncejb-1.0-SNAPSHOT", service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".deploymentCompleteService] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."org.jboss.weld.servlet.WeldInitialListener".WeldInstantiator (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."org.jboss.weld.servlet.WeldInitialListener".START] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."org.jboss.weld.servlet.WeldTerminalListener".CREATE (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."org.jboss.weld.servlet.WeldTerminalListener".START] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."org.jboss.weld.servlet.WeldTerminalListener".JndiBindingsService (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".jndiDependencyService] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."org.jboss.weld.servlet.WeldTerminalListener".START (missing) dependents: [service jboss.undertow.deployment.default-server.default-host."/asyncejb-1.0-SNAPSHOT", service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".deploymentCompleteService] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."org.jboss.weld.servlet.WeldTerminalListener".WeldInstantiator (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."org.jboss.weld.servlet.WeldTerminalListener".START] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".ee.ComponentRegistry (missing) dependents: [service jboss.undertow.deployment.default-server.default-host."/asyncejb-1.0-SNAPSHOT".UndertowDeploymentInfoService] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".jndiDependencyService (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."com.sun.faces.config.ConfigureListener".START, service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."org.jboss.weld.servlet.WeldTerminalListener".START, service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component."javax.servlet.jsp.jstl.tlv.ScriptFreeTLV".START, service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".WeldStartService, WFLYCTL0208: ... and 5 more ] 
      service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".moduleDeploymentRuntimeInformation (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".moduleDeploymentRuntimeInformationStart, service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component.EJB.START] 
      service jboss.naming.context.java.app."asyncejb-1.0-SNAPSHOT"."asyncejb-1.0-SNAPSHOT".EJB (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component.EJB.JndiBindingsService] 
      service jboss.naming.context.java.app."asyncejb-1.0-SNAPSHOT"."asyncejb-1.0-SNAPSHOT"."EJB!es.guillermogonzalezdeaguero.asyncejb.EJB" (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component.EJB.JndiBindingsService] 
      service jboss.naming.context.java.app."asyncejb-1.0-SNAPSHOT".env (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".jndiDependencyService] 
      service jboss.naming.context.java.global."asyncejb-1.0-SNAPSHOT".EJB (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component.EJB.JndiBindingsService] 
      service jboss.naming.context.java.global."asyncejb-1.0-SNAPSHOT"."EJB!es.guillermogonzalezdeaguero.asyncejb.EJB" (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component.EJB.JndiBindingsService] 
      service jboss.naming.context.java.module."asyncejb-1.0-SNAPSHOT"."asyncejb-1.0-SNAPSHOT".BeanManager (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".jndiDependencyService] 
      service jboss.naming.context.java.module."asyncejb-1.0-SNAPSHOT"."asyncejb-1.0-SNAPSHOT".DefaultContextService (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".jndiDependencyService] 
      service jboss.naming.context.java.module."asyncejb-1.0-SNAPSHOT"."asyncejb-1.0-SNAPSHOT".DefaultDataSource (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".jndiDependencyService] 
      service jboss.naming.context.java.module."asyncejb-1.0-SNAPSHOT"."asyncejb-1.0-SNAPSHOT".DefaultJMSConnectionFactory (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".jndiDependencyService] 
      service jboss.naming.context.java.module."asyncejb-1.0-SNAPSHOT"."asyncejb-1.0-SNAPSHOT".DefaultManagedExecutorService (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".jndiDependencyService] 
      service jboss.naming.context.java.module."asyncejb-1.0-SNAPSHOT"."asyncejb-1.0-SNAPSHOT".DefaultManagedScheduledExecutorService (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".jndiDependencyService] 
      service jboss.naming.context.java.module."asyncejb-1.0-SNAPSHOT"."asyncejb-1.0-SNAPSHOT".DefaultManagedThreadFactory (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".jndiDependencyService] 
      service jboss.naming.context.java.module."asyncejb-1.0-SNAPSHOT"."asyncejb-1.0-SNAPSHOT".EJB (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component.EJB.JndiBindingsService] 
      service jboss.naming.context.java.module."asyncejb-1.0-SNAPSHOT"."asyncejb-1.0-SNAPSHOT"."EJB!es.guillermogonzalezdeaguero.asyncejb.EJB" (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component.EJB.JndiBindingsService] 
      service jboss.naming.context.java.module."asyncejb-1.0-SNAPSHOT"."asyncejb-1.0-SNAPSHOT".EJBContext (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".jndiDependencyService] 
      service jboss.naming.context.java.module."asyncejb-1.0-SNAPSHOT"."asyncejb-1.0-SNAPSHOT".TimerService (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".jndiDependencyService] 
      service jboss.naming.context.java.module."asyncejb-1.0-SNAPSHOT"."asyncejb-1.0-SNAPSHOT".TransactionSynchronizationRegistry (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".jndiDependencyService] 
      service jboss.naming.context.java.module."asyncejb-1.0-SNAPSHOT"."asyncejb-1.0-SNAPSHOT".UserTransaction (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".jndiDependencyService] 
      service jboss.naming.context.java.module."asyncejb-1.0-SNAPSHOT"."asyncejb-1.0-SNAPSHOT".env (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".jndiDependencyService] 
      service jboss.thread.executor.ejb3.xxx (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".component.EJB.CREATE] 
      service jboss.undertow.deployment.default-server.default-host."/asyncejb-1.0-SNAPSHOT" (missing) dependents: [service jboss.deployment.unit."asyncejb-1.0-SNAPSHOT.war".deploymentCompleteService] 
      service jboss.undertow.deployment.default-server.default-host."/asyncejb-1.0-SNAPSHOT".UndertowDeploymentInfoService (missing) dependents: [service jboss.undertow.deployment.default-server.default-host."/asyncejb-1.0-SNAPSHOT"] 
      service jboss.undertow.deployment.default-server.default-host."/asyncejb-1.0-SNAPSHOT".codec (missing) dependents: [service jboss.undertow.deployment.default-server.default-host."/asyncejb-1.0-SNAPSHOT".UndertowDeploymentInfoService] 
      service jboss.undertow.deployment.default-server.default-host."/asyncejb-1.0-SNAPSHOT".session (missing) dependents: [service jboss.undertow.deployment.default-server.default-host."/asyncejb-1.0-SNAPSHOT".UndertowDeploymentInfoService] 
      service org.wildfly.request-controller.control-point."asyncejb-1.0-SNAPSHOT.war".undertow (missing) dependents: [service jboss.undertow.deployment.default-server.default-host."/asyncejb-1.0-SNAPSHOT".UndertowDeploymentInfoService] 
{code}

That error was on an example application with just one stateless EJB on it. The error would grow on a real application. The only interesting part of the message is the management operation part, but the message is really scary for anyone who is not familiar with how WildFly works.

Also removing an Infinispan cache container doesn't complain in any way. I guess the error would be shown at deployment time.

IMO, all of these operations would benefit from using capabilities, but I don't know the policy on it. Would you like me to create another issue for that, or maybe edit the title of this one?

> Remove operations should warn the user if the resource has any dependents
> -------------------------------------------------------------------------
>
>                 Key: WFLY-7987
>                 URL: https://issues.jboss.org/browse/WFLY-7987
>             Project: WildFly
>          Issue Type: Task
>          Components: Web (Undertow)
>    Affects Versions: 10.1.0.Final
>            Reporter: Guillermo González de Agüero
>            Assignee: Stuart Douglas
>
> Services may have dependents that can't work if they are not present. Removal operations should prevent, or least warn the user then he is about to remove a service that may have side effects.
> Take a look at this example:
> {code:shell}
> [standalone at localhost:9990 /] /subsystem=undertow/configuration=filter/response-header=test:add(header-name=X-test, header-value=test)
> {"outcome" => "success"}
> [standalone at localhost:9990 /] /subsystem=undertow/server=default-server/host=default-host/filter-ref=test:add()
> {"outcome" => "success"}
> [standalone at localhost:9990 /] /subsystem=undertow/configuration=filter/response-header=test:remove()
> {
>     "outcome" => "success",
>     "response-headers" => {
>         "operation-requires-reload" => true,
>         "process-state" => "reload-required"
>     }
> }
> [standalone at localhost:9990 /] :reload()
> {
>     "outcome" => "success",
>     "result" => undefined
> }
> [standalone at localhost:9990 /] /core-service=management:read-boot-errors()
> {
>     "outcome" => "success",
>     "result" => [{
>         "failed-operation" => {
>             "operation" => "add",
>             "address" => [
>                 ("subsystem" => "undertow"),
>                 ("server" => "default-server"),
>                 ("host" => "default-host"),
>                 ("filter-ref" => "test")
>             ]
>         },
>         "failure-description" => "{\"WFLYCTL0412: Required services that are not installed:\" => [\"jboss.undertow.filter.test\"],\"WFLYCTL0180: Services with missing/unavailable dependencies\" => [\"jboss.undertow.server.default-server.default-host.filter-ref.test is missing [jboss.undertow.filter.test]\"]}",
>         "services-missing-dependencies" => ["jboss.undertow.server.default-server.default-host.filter-ref.test is missing [jboss.undertow.filter.test]"]
>     }]
> }
> {code}
> A new Undertow filter is created and assigned to a host. The filter is then removed, but the host still needs it.
> The problem is only seen after a server reload. The same thing happens when you remove, i.e. the default Servlet Container or the Bean pool of the EJB subsystem.
> My proposal is to at least add a response head to the remove operations listing affected (dependent) services. This would complement the new WildFly 11 capability registry.



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)



More information about the jboss-jira mailing list