1 Reply Latest reply on Aug 31, 2004 12:36 PM by adrian.brock

    Atomic Deployments

      I have a proposal to make deployments more atomic.

      What this will is that any failure for a deployment or subdeployment forces
      the whole deployment (top-level and subdeployments) to be undeployed.

      The idea is to rollback after a failure in the MainDeployer, both the top-level
      deployment and the subdeployments.

      i.e. if init() then di.cleanup() and related code in destroy() is invoked
      if create() fails then destroy() is invoked
      if start() fails then stop()/destroy() is invoked

      This applies to subdeployments already deployed, e.g. if one subdeployment fails,
      the previous subdeployments are rolledback.

        • 1. Re: Atomic Deployments

          The main problem with this approach, is that the deployment failures will no longer
          appear in the summary list of incomplete deployments at the end of the bootstrap,
          (they won't exist at this point).

          This could be mitigated, by holding failed deployments in a separate datastructure which is
          queried and cleared when the incomplete deployment check is made.