[JBoss JIRA] (WFCORE-1569) NPE when executing a full-replace-deployment operation followed by an add operation for the same deployment
by James Perkins (JIRA)
James Perkins created WFCORE-1569:
-------------------------------------
Summary: NPE when executing a full-replace-deployment operation followed by an add operation for the same deployment
Key: WFCORE-1569
URL: https://issues.jboss.org/browse/WFCORE-1569
Project: WildFly Core
Issue Type: Bug
Components: Domain Management
Reporter: James Perkins
Assignee: Ken Wills
Attachments: issue-reproducer.zip
Executing the {{full-replace-deployment}} operation on a domain deployment works correctly if it's a single operation (even in a composite operation). In a composite operation where an {{add}} operation is executed to add the deployment to a server-group(s) after the {{full-replace-deployment}} an NPE is thrown because the previous resource is {{null}} since it did not exist.
{code:java|title=org.jboss.as.server.deployment.DeploymentFullReplaceHandler}
// WFCORE-495 remove and call context.addResource() as below to add new resource with updated PERSISTENT value
final ModelNode deploymentModel = context.removeResource(PathAddress.pathAddress(deploymentPath)).getModel();
{code}
The {{context.removeResource()}} returns {{null}} since the deployment was not deployed on the server in the server-group.
>From debugging it looks like the full composite operation is passed to each server in a server group. For obvious reasons if the {{add}} operation is done before the {{full-replace-deployment}} operation the composite operation is successful.
The easy workaround is just to ignore missing deployments in the {{org.jboss.as.server.deployment.DeploymentFullReplaceHandler}} OSH and log a debug or trace message indicating it was skipped because the deployment did not previously exist on the server. However this may need to be done at the HC operation routing level.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 7 months