[jboss-jira] [JBoss JIRA] Commented: (JBAS-9010) Provide more comprehensive error messages for missing dependencies
Stuart Douglas (JIRA)
jira-events at lists.jboss.org
Fri Mar 18 23:26:09 EDT 2011
[ https://issues.jboss.org/browse/JBAS-9010?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12589067#comment-12589067 ]
Stuart Douglas commented on JBAS-9010:
--------------------------------------
I did some investigating into how MSC handles dependencyInstalled and dependencyUninstalled.
Say we have services A and B where A depends on B.
If I first add A a dependencyUninstalled() event will be sent to the listener.
If I then add B two more events will be fired, dependencyInstalled() for A and serviceStarted() for B. All these events can run concurrently, so effectively they can occur in any order.
This behaviour is problematic when detecting missing dependencies in a deployment. When the last serviceStarted() is run, we effectively have no way of knowing if missing dependencies are still missing, or if the installation of this final service satisfied the dependencies, and a dependencyInstalled() event is running concurrently.
An additional complication is that dependencyInstalled() can appear to run before dependencyUninstalled(), although it is possible to work around this.
> Provide more comprehensive error messages for missing dependencies
> ------------------------------------------------------------------
>
> Key: JBAS-9010
> URL: https://issues.jboss.org/browse/JBAS-9010
> Project: JBoss Application Server
> Issue Type: Task
> Security Level: Public(Everyone can see)
> Reporter: David Lloyd
> Assignee: David Lloyd
> Fix For: 7.0.0.Beta3
>
>
> Given a set of services _C_ from a composite operation consisting of or containing one or more deployment, and a set of services _D_ from a deployment installed within the operation, the deployment is considered in error when:
> # All ACTIVE services in _C_ are UP, or
> # have one or more missing dependency, or
> # have one or more failed dependency, or
> # are themselves in a failed state
> AND one or more services in _D_:
> # have one or more missing dependency, or
> # have one or more failed dependency, or
> # are themselves in a failed state
> Then a deployment shall be considered to be failed.
> For each failed deployment, a failed message should be logged with a summary of the problem. All missing dependencies should be associated with the applicable deployment dependent(s) and listed. Services which are failed should be listed BUT not with the failure cause or stack trace, which will have appeared in the log already.
> Deployments that have failed will also cause the runtime portion of the operation to be treated as failed; the deployment or server start operation handler may act on this information as it would with any failed operation.
> A failed deployment may become successful later on if a missing dependency is satisfied as a result of another deployment being installed. A previously successful deployment may enter a failed state if a required, satisfied dependency is later uninstalled. At the conclusion of an operation which causes a previously successful deployment to be failed, a message need not be logged however that can be considered for this or a later release.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list