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

"WFLYCTL0171 unsatisfied dependencies" when removing an xa-datasource-properties resource

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Critical
    • 10.0.0.Final
    • 9.0.1.Final, 10.0.0.CR2
    • JCA
    • None

    Description

      Steps to reproduce, same fro WF 9.0.1.Final and 10.0.0.CR2:

      (1) create an XA Datasource:

      {
          "operation" => "composite",
          "address" => [],
          "steps" => [
              {
                  "operation" => "add",
                  "address" => [
                      ("subsystem" => "datasources"),
                      ("xa-data-source" => "testXaDs")
                  ],
                  "jndi-name" => "java:/testXaDs",
                  "driver-name" => "h2",
                  "xa-datasource-class" => "org.h2.jdbcx.JdbcDataSource",
                  "user-name" => "sa",
                  "password" => "sa",
                  "new-connection-sql" => undefined,
                  "url-delimiter" => undefined,
                  "url-selector-strategy-class-name" => undefined,
                  "use-java-context" => undefined,
                  "max-pool-size" => undefined,
                  "min-pool-size" => undefined,
                  "initial-pool-size" => undefined,
                  "pool-prefill" => undefined,
                  "pool-use-strict-min" => undefined,
                  "interleaving" => undefined,
                  "capacity-incrementer-class" => undefined,
                  "capacity-decrementer-class" => undefined,
                  "no-tx-separate-pool" => undefined,
                  "pad-xid" => undefined,
                  "same-rm-override" => undefined,
                  "wrap-xa-resource" => undefined,
                  "security-domain" => undefined,
                  "reauth-plugin-class-name" => undefined,
                  "flush-strategy" => undefined,
                  "allow-multiple-users" => undefined,
                  "connection-listener-class" => undefined,
                  "prepared-statements-cache-size" => undefined,
                  "share-prepared-statements" => undefined,
                  "track-statements" => undefined,
                  "allocation-retry" => undefined,
                  "allocation-retry-wait-millis" => undefined,
                  "blocking-timeout-wait-millis" => undefined,
                  "idle-timeout-minutes" => undefined,
                  "query-timeout" => undefined,
                  "use-try-lock" => undefined,
                  "set-tx-query-timeout" => undefined,
                  "transaction-isolation" => undefined,
                  "check-valid-connection-sql" => undefined,
                  "exception-sorter-class-name" => undefined,
                  "stale-connection-checker-class-name" => undefined,
                  "valid-connection-checker-class-name" => undefined,
                  "background-validation-millis" => undefined,
                  "background-validation" => undefined,
                  "use-fast-fail" => undefined,
                  "validate-on-match" => undefined,
                  "xa-resource-timeout" => undefined,
                  "spy" => undefined,
                  "use-ccm" => undefined,
                  "enabled" => undefined,
                  "connectable" => undefined,
                  "statistics-enabled" => undefined,
                  "tracking" => undefined,
                  "recovery-username" => undefined,
                  "recovery-password" => undefined,
                  "recovery-security-domain" => undefined,
                  "recovery-plugin-class-name" => undefined,
                  "no-recovery" => undefined,
                  "url-property" => undefined,
                  "reauth-plugin-properties" => undefined,
                  "exception-sorter-properties" => undefined,
                  "stale-connection-checker-properties" => undefined,
                  "valid-connection-checker-properties" => undefined,
                  "recovery-plugin-properties" => undefined,
                  "connection-listener-property" => undefined,
                  "capacity-incrementer-properties" => undefined,
                  "capacity-decrementer-properties" => undefined
              },
              {
                  "operation" => "add",
                  "address" => [
                      ("subsystem" => "datasources"),
                      ("xa-data-source" => "testXaDs"),
                      ("xa-datasource-properties" => "URL")
                  ],
                  "value" => "jdbc:h2:mem:test"
              },
              {
                  "operation" => "add",
                  "address" => [
                      ("subsystem" => "datasources"),
                      ("xa-data-source" => "testXaDs"),
                      ("xa-datasource-properties" => "xaProp2")
                  ],
                  "value" => "xaVal2"
              }
          ]
      }
      

      (2) Update or remove any of the xa-datasource-properties:

      {
          "operation" => "composite",
          "address" => [],
          "steps" => [
              {
                  "operation" => "remove",
                  "address" => [
                      ("subsystem" => "datasources"),
                      ("xa-data-source" => "testXaDs"),
                      ("xa-datasource-properties" => "URL")
                  ]
              },
              {
                  "operation" => "add",
                  "address" => [
                      ("subsystem" => "datasources"),
                      ("xa-data-source" => "testXaDs"),
                      ("xa-datasource-properties" => "URL")
                  ],
                  "value" => "jdbc:h2:mem:test;DB_CLOSE_DELAY=5000"
              },
              {
                  "operation" => "remove",
                  "address" => [
                      ("subsystem" => "datasources"),
                      ("xa-data-source" => "testXaDs"),
                      ("xa-datasource-properties" => "xaProp2")
                  ]
              },
              {
                  "operation" => "add",
                  "address" => [
                      ("subsystem" => "datasources"),
                      ("xa-data-source" => "testXaDs"),
                      ("xa-datasource-properties" => "xaProp3")
                  ],
                  "value" => "xaVal3"
              }
          ]
      }
      

      (3) NOT OK: the composite operation fails

      {
          "outcome" => "failed",
          "result" => {
              "step-1" => {
                  "outcome" => "failed",
                  "failure-description" => "WFLYCTL0171: Removing services has lead to unsatisfied dependencies:
      Service jboss.xa-data-source-config.testXaDs.xa-datasource-properties.URL was depended upon by service jboss.xa-data-source-config.testXaDs",
                  "rolled-back" => true
              },
              "step-2" => {
                  "outcome" => "failed",
                  "response-headers" => {"operation-requires-reload" => true},
                  "rolled-back" => true
              },
              "step-3" => {
                  "outcome" => "failed",
                  "failure-description" => "WFLYCTL0171: Removing services has lead to unsatisfied dependencies:
      Service jboss.xa-data-source-config.testXaDs.xa-datasource-properties.xaProp2 was depended upon by service jboss.xa-data-source-config.testXaDs",
                  "rolled-back" => true
              },
              "step-4" => {
                  "outcome" => "failed",
                  "response-headers" => {"operation-requires-reload" => true},
                  "rolled-back" => true
              }
          },
          "failure-description" => {"WFLYCTL0062: Composite operation failed and was rolled back. Steps that failed:" => {
              "Operation step-7" => "WFLYCTL0171: Removing services has lead to unsatisfied dependencies:
      Service jboss.xa-data-source-config.testXaDs.xa-datasource-properties.URL was depended upon by service jboss.xa-data-source-config.testXaDs",
              "Operation step-9" => "WFLYCTL0171: Removing services has lead to unsatisfied dependencies:
      Service jboss.xa-data-source-config.testXaDs.xa-datasource-properties.xaProp2 was depended upon by service jboss.xa-data-source-config.testXaDs"
          }},
          "rolled-back" => true,
          "response-headers" => {"process-state" => "reload-required"}
      }
      

      EXPECTED: the operation should succeed

      Workaround: When the same request is sent once again, the second invocation succeeds.

      Attachments

        Issue Links

          Activity

            People

              smaestri@redhat.com Stefano Maestri
              ppalaga Peter Palaga
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: