[jboss-jira] [JBoss JIRA] (WFCORE-2656) DeploymentTestCase.testFilesystemScannerRegistration fails intermittently

Brian Stansberry (JIRA) issues at jboss.org
Mon Apr 17 16:16:00 EDT 2017


    [ https://issues.jboss.org/browse/WFCORE-2656?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13394118#comment-13394118 ] 

Brian Stansberry commented on WFCORE-2656:
------------------------------------------

I think that WFLYDS0012 is relevant and highlights a flaw in the CapabilityRegistry. I think what we have is two threads, writer thread WT and reader thread RT. WT is doing the deployment-scanner=dummy:remove. RT is the scan thread trying to read deployment status.

1) WT modifies the CapabiltyRegistry, so now it's state differs from that of its publishedFullRegistry member.
2) RT is cancelled due to the remove happening, so its OperationContext enters enterResultHandlerPhase and calls OperationContextImpl.operationRollingBack / ModelControllerImp.disardModel / ManagemtModelImpl.discard / CapabilityRegistry.rollback.
3) CapabilityRegistry.rollback restores the state from the publishedFullRegistry, effectively undoing what WT did in step 1)
4) WT gets to OperationContext executeDoneStage and publishes the capability registry, which means its incorrect state from 3) is pushed to publishedFullRegistry.

This is going to take some thought. RT hasn't modified anything so it shouldn't do anything in rollback.
 


> DeploymentTestCase.testFilesystemScannerRegistration fails intermittently
> -------------------------------------------------------------------------
>
>                 Key: WFCORE-2656
>                 URL: https://issues.jboss.org/browse/WFCORE-2656
>             Project: WildFly Core
>          Issue Type: Bug
>          Components: Deployment Scanner, Domain Management
>            Reporter: Brian Stansberry
>            Assignee: ehsavoie Hugonnet
>
> https://ci.wildfly.org/project.html?projectId=WildFlyCore_PullRequest&testNameId=5510538220891037036&tab=testDetails
> I fear this has something to do with the capability registry and nothing to do with the scanner itself. It started happening when I added a capability to the scanner so it could consume a capability for the path it references.
> The test does a quick add/remove/add of a scanner resource and it's the 2nd add that fails with a dupicate capability error. But the remove mean the dup is gone. It's intermittent so I fear some race, but there's nothing obvious.



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the jboss-jira mailing list