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

Removing a data-source that is used by a deployment breaks the deployment

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 9.0.0.Beta1
    • 8.1.0.Final
    • JCA
    • None

    Description

      Use case: a Web app which depends on a data-source resource configured in the datasources subsystem (and not in the deployment)
      I used the bmp quickstart and move the datasource-definition from the -ds.xml file to the standalone-full.xml configuration file.

      1. Start the server

      11:31:38,279 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-9) WFLYJCA0001: Bound data source [java:jboss/datasources/BMTQuickstartDS]
      

      1. Deploy the web app

      11:32:33,664 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-16) WFLYSRV0027: Starting deployment of "wildfly-bmt.war" (runtime-name: "wildfly-bmt.war")
      ...
      11:32:35,976 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-4) WFLYUT0021: Registered web context: /wildfly-bmt
      11:32:36,020 INFO  [org.jboss.as.server] (management-handler-thread - 1) WFLYSRV0010: Deployed "wildfly-bmt.war" (runtime-name : "wildfly-bmt.war")
      

      2. check the web app works

      3. Remove the data-source from the CLI

      [standalone@localhost:9990 /] /subsystem=datasources/data-source=bmt-quickstart:remove
      {
          "outcome" => "failed",
          "failure-description" => "WFLYCTL0171: Removing services has lead to unsatisfied dependencies:
      Service jboss.naming.context.java.jboss.datasources.BMTQuickstartDS was depended upon by service jboss.persistenceunit.\"wildfly-bmt.war#primary\".__FIRST_PHASE__",
          "rolled-back" => true
      }
      

      => the operation failed.

      but the web context has been unregistered by the server:

      
      11:33:33,345 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-2) WFLYUT0022: Unregistered web context: /wildfly-bmt
      11:33:33,354 INFO  [org.jboss.as.jpa] (ServerService Thread Pool -- 71) WFLYJPA0011: Stopping Persistence Unit (phase 2 of 2) Service 'wildfly-bmt.war#primary'
      11:33:33,355 INFO  [org.hibernate.tool.hbm2ddl.SchemaExport] (ServerService Thread Pool -- 71) HHH000227: Running hbm2ddl schema export
      11:33:33,356 INFO  [stdout] (ServerService Thread Pool -- 71) Hibernate: drop table BMT_KVPair if exists
      11:33:33,358 INFO  [org.hibernate.tool.hbm2ddl.SchemaExport] (ServerService Thread Pool -- 71) HHH000230: Schema export complete
      11:33:33,360 INFO  [org.jboss.weld.deployer] (MSC service thread 1-5) WFLYWELD0010: Stopping weld service for deployment wildfly-bmt.war
      11:33:33,378 INFO  [org.jboss.as.jpa] (ServerService Thread Pool -- 71) WFLYJPA0011: Stopping Persistence Unit (phase 1 of 2) Service 'wildfly-bmt.war#primary'
      11:33:33,379 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-11) WFLYJCA0010: Unbound data source [java:jboss/datasources/BMTQuickstartDS]
      11:33:33,383 INFO  [org.jboss.as.controller] (management-handler-thread - 1) WFLYCTL0183: Service status report
      WFLYCTL0184:    New missing/unsatisfied dependencies:
            service jboss.naming.context.java.jboss.datasources.BMTQuickstartDS (missing) dependents: [service jboss.persistenceunit."wildfly-bmt.war#primary".__FIRST_PHASE__]
      

      and the web app no longer works (it returns a 404 error).

      At this point, the data-source resource is still present but its corresponding JNDI binding is not. If I try to redeploy the web app it fails:

      11:35:48,736 INFO  [org.jboss.as.repository] (management-handler-thread - 1) WFLYDR0001: Content added at location /Users/jmesnil/Developer/wildfly/dist/target/wildfly-9.0.0.Alpha1-SNAPSHOT/standalone/data/content/ff/2df0dc4b7d9d1e04a88448deba520c2b714b8b/content
      11:35:48,748 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-4) WFLYSRV0028: Stopped deployment wildfly-bmt.war (runtime-name: wildfly-bmt.war) in 9ms
      11:35:48,749 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-5) WFLYSRV0027: Starting deployment of "wildfly-bmt.war" (runtime-name: "wildfly-bmt.war")
      11:35:48,775 INFO  [org.jboss.as.jpa] (MSC service thread 1-6) WFLYJPA0002: Read persistence.xml for primary
      11:35:48,786 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-2) WFLYSRV0028: Stopped deployment wildfly-bmt.war (runtime-name: wildfly-bmt.war) in 36ms
      11:35:48,787 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-16) WFLYSRV0027: Starting deployment of "wildfly-bmt.war" (runtime-name: "wildfly-bmt.war")
      11:35:48,815 INFO  [org.jboss.as.jpa] (MSC service thread 1-13) WFLYJPA0002: Read persistence.xml for primary
      11:35:48,829 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 1) WFLYCTL0013: Operation ("redeploy") failed - address: ([("deployment" => "wildfly-bmt.war")]) - failure description: {"WFLYCTL0180: Services with missing/unavailable dependencies" => ["jboss.persistenceunit.\"wildfly-bmt.war#primary\".__FIRST_PHASE__ is missing [jboss.naming.context.java.jboss.datasources.BMTQuickstartDS]"]}
      11:35:48,830 ERROR [org.jboss.as.server] (management-handler-thread - 1) WFLYSRV0011: Redeploy of deployment "wildfly-bmt.war" was rolled back with the following failure message: {"WFLYCTL0180: Services with missing/unavailable dependencies" => ["jboss.persistenceunit.\"wildfly-bmt.war#primary\".__FIRST_PHASE__ is missing [jboss.naming.context.java.jboss.datasources.BMTQuickstartDS]"]}
      11:35:48,835 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-11) WFLYSRV0028: Stopped deployment wildfly-bmt.war (runtime-name: wildfly-bmt.war) in 4ms
      11:35:48,836 INFO  [org.jboss.as.controller] (management-handler-thread - 1) WFLYCTL0183: Service status report
      WFLYCTL0184:    New missing/unsatisfied dependencies:
            service jboss.persistenceunit."wildfly-bmt.war#primary".__FIRST_PHASE__ (missing) dependents: [service jboss.deployment.unit."wildfly-bmt.war".POST_MODULE]
      
      11:35:48,836 INFO  [org.jboss.as.repository] (management-handler-thread - 1) WFLYDR0002: Content removed from location /Users/jmesnil/Developer/wildfly/dist/target/wildfly-9.0.0.Alpha1-SNAPSHOT/standalone/data/content/ff/2df0dc4b7d9d1e04a88448deba520c2b714b8b/content
      

      Attachments

        Activity

          People

            istudens@redhat.com Ivo Studensky
            jmesnil1@redhat.com Jeff Mesnil
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: