Back to bug 1021763

Who When What Removed Added
Osamu Nagano 2013-10-22 03:25:27 UTC Link ID JBoss Issue Tracker WFLY-2352
Brian Stansberry 2013-10-31 01:05:52 UTC Status NEW POST
mark yarborough 2013-10-31 12:06:38 UTC CC myarboro
Brian Stansberry 2013-11-04 23:42:12 UTC Status POST MODIFIED
Target Release --- EAP 6.2.0
Target Milestone --- CR1
Paul Gier 2013-11-11 03:19:13 UTC Status MODIFIED ON_QA
Petr Kremensky 2013-11-11 11:42:05 UTC Status ON_QA VERIFIED
Brian Stansberry 2013-11-20 21:49:23 UTC Doc Text Cause:

The handler for the "full-replace-deployment" management operation includes logic to delete deployment content added as part of the operation if the operation rolls back. This logic was not checking whether the newly added content was exactly the same as the already existing content, so if it was the already existing content would be deleted.

Consequence:

If in a managed domain the CLI "deploy" command is used with the --force option to redeploy the same content, and the redeploy fails (e.g. because some depended upon service like a datasource is missing on some server), the deployment will fail and as part of the rollback the content will be removed on all hosts. The existing configuration item for the deployment will remain though, so if the host is restarted an attempt to deploy non-existent content will be made, leading to failure to boot.

Fix:

The rollback logic now detects that the content was unchanged and thus does not include removing the content as one of the things it needs to do.

Result:

The rollback will leave the domain in a consistent state equivalent to what it was before the redeploy attempt was made, with the content available on all hosts and the configuration referencing that content.
Lucas Costi 2013-12-02 04:20:31 UTC CC lcosti
Doc Text Cause:

The handler for the "full-replace-deployment" management operation includes logic to delete deployment content added as part of the operation if the operation rolls back. This logic was not checking whether the newly added content was exactly the same as the already existing content, so if it was the already existing content would be deleted.

Consequence:

If in a managed domain the CLI "deploy" command is used with the --force option to redeploy the same content, and the redeploy fails (e.g. because some depended upon service like a datasource is missing on some server), the deployment will fail and as part of the rollback the content will be removed on all hosts. The existing configuration item for the deployment will remain though, so if the host is restarted an attempt to deploy non-existent content will be made, leading to failure to boot.

Fix:

The rollback logic now detects that the content was unchanged and thus does not include removing the content as one of the things it needs to do.

Result:

The rollback will leave the domain in a consistent state equivalent to what it was before the redeploy attempt was made, with the content available on all hosts and the configuration referencing that content.
The handler for the `full-replace-deployment` includes logic that deletes deployment content which has been added as part of an operation which is being rolled back. This logic was not checking whether the added content was the same as the existing content, so that if it was, the existing content would incorrectly be deleted.

As a result of this situation, if the same content is redeployed in a managed domain using the `deploy --force` CLI command, and if the redeploy failed for any reason (for example, because a depended-upon service such as a datasource is missing on a server), then the deployment would also fail and the content would be removed from all hosts as part of the rollback process. However, the existing configuration item for the deployment would remain, and if the host was restarted, an attempt to deploy non-existent content would be made, resulting in a failure to boot.

This issue has been fixed in this release of JBoss EAP 6. The rollback logic now recognizes that if the content was unchanged, it will not remove the content as part of the rollback process.

As a result, the rollback will leave the domain in a consistent state equivalent to what it was before the redeploy attempt was made, and the content will remain available on all hosts along with the configuration referencing the content.
mark yarborough 2013-12-15 16:14:25 UTC Status VERIFIED CLOSED
Resolution --- CURRENTRELEASE
Last Closed 2013-12-15 11:14:25 UTC
Anu Saji 2016-09-28 00:29:35 UTC CC asaji

Back to bug 1021763