[jboss-jira] [JBoss JIRA] (WFLY-11601) Weld vs Undertow bootstrap: Race condition

Matěj Novotný (Jira) issues at jboss.org
Thu Jun 6 08:50:00 EDT 2019


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

Matěj Novotný edited comment on WFLY-11601 at 6/6/19 8:49 AM:
--------------------------------------------------------------

[~grubi] I have drafted a Weld solution [here|https://github.com/weld/core/pull/1921] that moves bits of bootstrap to earlier phases hence it should avoid the race condition.
I've run it through Weld TS, wildfly/testsuite (latest master) and also tried your sample and it worked.

But I know your sample was not reproducible for me before so if you could test it, that would be great.
If you don't know how to replace versions of Weld in WFLY, I can give you the details.


was (Author: manovotn):
[~grubi] I have drafted a Weld solution [here|https://github.com/manovotn/core/tree/weld2557] that moves bits of bootstrap to earlier phases hence it should avoid the race condition.
I've run it through Weld TS, wildfly/testsuite (latest master) and also tried your sample and it worked.

But I know your sample was not reproducible for me before so if you could test it, that would be great.
If you don't know how to replace versions of Weld in WFLY, I can give you the details.

> Weld vs Undertow bootstrap: Race condition
> ------------------------------------------
>
>                 Key: WFLY-11601
>                 URL: https://issues.jboss.org/browse/WFLY-11601
>             Project: WildFly
>          Issue Type: Bug
>          Components: CDI / Weld, Web (Undertow)
>    Affects Versions: 15.0.1.Final
>            Reporter: Stefan Gr
>            Assignee: Matěj Novotný
>            Priority: Major
>         Attachments: TestApp.zip, TestLib.zip, changes.diff, deploy-failed.txt, deploy-mixed-success.txt, deploy-success.txt, test-app-1.0.0.war, weld-core-impl-3.0.5.Final.jar, weld-core-impl-3.0.5.Final.jar
>
>
> WFLY-9732 / WFLY-10784 moves the completion of WELD from the WeldStartService to WeldStartCompetionService. This causes a race condition with the UndertowDeploymentService which executes the servlet listeners for context-initialized which again fires ApplicationScope-initialized events in CDI.
> You can find more in [WELD-2557|https://issues.jboss.org/browse/WELD-2557?focusedCommentId=13682848&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13682848].
> In short: WeldStartCompletionService and UndertowDeploymentService pushes the logic to the executor service. It may happen, that the logik of undertow runs before the weld completion. Events fired in the servlet listeners won't find all event observers.
> A possible solution would bo to set the WeldStartCompletionService as a dependency of the UndertowDeploymentService



--
This message was sent by Atlassian Jira
(v7.12.1#712002)



More information about the jboss-jira mailing list