[jboss-jira] [JBoss JIRA] (WFCORE-1392) Undeploy doesn't remove Data content if server is in --admin-only mode
Tomas Hofman (JIRA)
issues at jboss.org
Thu Nov 23 09:07:00 EST 2017
[ https://issues.jboss.org/browse/WFCORE-1392?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13493386#comment-13493386 ]
Tomas Hofman commented on WFCORE-1392:
--------------------------------------
Currently the sequence of actions during deployment is:
{code}
DeploymentAddHandler:
create deployment resource
contentRepository.addContent(...) or contentRepository.syncContent(...)
if (ENABLED attr is true):
DeploymentHandlerUtil.deploy(...)
complete step:
contentRepository.addContentReference(...)
DeploymentDeployHandler:
set ENABLED attr to true
DeploymentHandlerUtil.deploy(...)
DeploymentHandlerUtil.deploy():
if (is normal server):
emit notification
add RUNTIME step:
create and install deployment and content services
{code}
During undeployment:
{code}
DeploymentUndeployHandler:
if (ENABLED attr is true):
DeploymentHandlerUtil.undeploy(...)
DeploymentHandlerUtil.undeploy():
if (is normal server):
emit notification
add RUNTIME step:
remove deployment and content services
DeploymentRemoveHandler:
remove deployment resource
if (is normal server):
add RUNTIME step:
if (ENABLED attr is true):
remove deployment and content services
complete step:
contentRepository.removeContent(...)
{code}
So the asynchronicity is in that content is added into content repository in both, normal and admin-only mode, but is removed from content repository only in normal mode. The modifications would be purely in DeploymentRemoveHandler:
{code}
DeploymentRemoveHandler:
remove deploymetn resource
if (is normal server):
add RUNTIME step:
if (ENABLED attr is true):
remove deployment and content services
complete step:
contentRepository.removeContent(...)
+ else:
+ add RUNTIME step:
+ complete step:
+ contentRepository.removeContent(...)
{code}
DeploymentRemoveHandler is used in both, standalone and domain servers. Host controller in domain mode already removes the content during undeployment in both modes, so no changes are necessary there.
> Undeploy doesn't remove Data content if server is in --admin-only mode
> -----------------------------------------------------------------------
>
> Key: WFCORE-1392
> URL: https://issues.jboss.org/browse/WFCORE-1392
> Project: WildFly Core
> Issue Type: Enhancement
> Components: Domain Management
> Affects Versions: 2.1.0.CR2
> Reporter: Chao Wang
> Assignee: Tomas Hofman
> Priority: Minor
>
> {noformat}
> Steps to Reproduce:
> 1. Start server instance using --admin-only flag
> 2. Deploy application using CLI command.
> ~~~
> deploy /valid/path/WebApp.war --runtime-name=WebApp.war --name=WebApp.war
> ~~~
> 3. Undeploy application using CLI command:
> ~~~
> undeploy WebApp.war
> ~~~
> 4. Application will be undeployed but content from 'data' directory are not removed.
> {noformat}
> Lines:
> https://github.com/wildfly/wildfly-core/blob/b1a4439f442f7984e681840c0f8d18089a87c920/server/src/main/java/org/jboss/as/server/deployment/DeploymentRemoveHandler.java#L73
> https://github.com/wildfly/wildfly-core/blob/e737eff554ee433ca54835154fd67725fd52f63e/controller/src/main/java/org/jboss/as/controller/AbstractOperationContext.java#L1010
> runningMode value is ADMIN_ONLY will bypass that step in DeploymentRemoveHandler.java leads to this behavior.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
More information about the jboss-jira
mailing list