]
Brian Stansberry commented on WFCORE-1245:
------------------------------------------
Sorry for the delay on this. 1) seems ok. The change seems consistent with the javadoc at
L280:
{code}
// See if any other services are known to the service container as being
missing and aren't already
// tracked by this SVH as failed or directly missing. If any are found,
that is some additional
// info to the user, so report that
{code}
It's debatable but I don't think this is a real good change for an EAP CP though.
It's going to increase the size of the error report, and in some cases that may just
be noise. It's fine for WF 11 and EAP 7.1 though.
Improve readability of missing dependency logs
----------------------------------------------
Key: WFCORE-1245
URL:
https://issues.jboss.org/browse/WFCORE-1245
Project: WildFly Core
Issue Type: Enhancement
Components: Domain Management
Reporter: Bartosz Spyrko-Ĺmietanko
Assignee: Dennis Reed
Attachments: after_1.log, after_2.log, before.log, bz1283294-reproducer.zip
When deploying an ear using initialize-in-order option, if one of the subdeployments
contains an EJB that depends on an EJB from another subdeployment and the dependency
subdeployment fails log output makes it hard to understand the root cause.
Structure of deployment is as follows:
{noformat}
reproducer.ear
|- service-locator.jar
| |- ServiceLocator (Stateless EJB)
| |- TestQueue (JNDI Resource)
|- client.jar
|- TestEjb (Stateless EJB)
|- ServiceLocator
{noformat}
If the TestQueue JNDI resource cannot be injected in the ServiceLocator, the deployment
failure output lists a number of missing services per each EJB in the dependant
subdeployment (.ORB, .HandleDelegate, .ValidatorFactory, etc).
When the dependant subdeployment has a larger number of EJBs the log output very quickly
becomes hard to read.
Example with a single dependant EJB:
{noformat}
14:27:43,092 ERROR [org.jboss.as.controller.management-operation]
(management-handler-thread - 2) WFLYCTL0013: Operation ("deploy") failed -
address: ({"deployment" => "reproducer-1.0-SNAPSHOT.ear"}) -
failure description: {
"WFLYCTL0180: Services with missing/unavailable dependencies" => [
"jboss.deployment.subunit.\"reproducer-1.0-SNAPSHOT.ear\".\"client.jar\".batch.environment
is missing
[jboss.deployment.subunit.\"reproducer-1.0-SNAPSHOT.ear\".\"client.jar\".beanmanager]",
"jboss.naming.context.java.comp.testEar.client.TestEjb.ValidatorFactory is
missing [jboss.naming.context.java.comp.testEar.client.TestEjb]",
"jboss.naming.context.java.comp.testEar.client.TestEjb.ORB is missing
[jboss.naming.context.java.comp.testEar.client.TestEjb]",
"jboss.naming.context.java.comp.testEar.client.TestEjb.HandleDelegate is
missing [jboss.naming.context.java.comp.testEar.client.TestEjb]",
"jboss.deployment.subunit.\"reproducer-1.0-SNAPSHOT.ear\".\"client.jar\".weld.weldClassIntrospector
is missing
[jboss.deployment.subunit.\"reproducer-1.0-SNAPSHOT.ear\".\"client.jar\".beanmanager]",
"jboss.deployment.unit.\"reproducer-1.0-SNAPSHOT.ear\".deploymentCompleteService
is missing
[jboss.deployment.subunit.\"reproducer-1.0-SNAPSHOT.ear\".\"client.jar\".deploymentCompleteService]",
"jboss.naming.context.java.comp.testEar.client.TestEjb.InstanceName is
missing [jboss.naming.context.java.comp.testEar.client.TestEjb]",
"jboss.naming.context.java.comp.testEar.client.TestEjb.Validator is missing
[jboss.naming.context.java.comp.testEar.client.TestEjb]",
"jboss.naming.context.java.comp.testEar.service-locator.test_ServiceLocator.env.queue.TestQueue
is missing [jboss.naming.context.java.jboss.resources.queue.TestQueue]",
"jboss.naming.context.java.comp.testEar.client.TestEjb.InAppClientContainer
is missing [jboss.naming.context.java.comp.testEar.client.TestEjb]"
],
"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.deployment.subunit.\"reproducer-1.0-SNAPSHOT.ear\".\"client.jar\".INSTALL",
"jboss.deployment.subunit.\"reproducer-1.0-SNAPSHOT.ear\".\"service-locator.jar\".CLEANUP",
"jboss.deployment.subunit.\"reproducer-1.0-SNAPSHOT.ear\".\"service-locator.jar\".component.test_ServiceLocator.JndiBindingsService",
"jboss.deployment.subunit.\"reproducer-1.0-SNAPSHOT.ear\".\"service-locator.jar\".component.test_ServiceLocator.START",
"jboss.deployment.subunit.\"reproducer-1.0-SNAPSHOT.ear\".\"service-locator.jar\".deploymentCompleteService",
"jboss.deployment.subunit.\"reproducer-1.0-SNAPSHOT.ear\".\"service-locator.jar\".jndiDependencyService",
"jboss.deployment.subunit.\"reproducer-1.0-SNAPSHOT.ear\".\"service-locator.jar\".moduleDeploymentRuntimeInformationStart",
"jboss.deployment.unit.\"reproducer-1.0-SNAPSHOT.ear\".CLEANUP"
]
{noformat}