[esb-issues] [JBoss JIRA] Work started: (JBESB-1944) The InVM courier is not completely valid from concurrency point of view

Tom Fennelly (JIRA) jira-events at lists.jboss.org
Wed Aug 20 09:20:28 EDT 2008


     [ https://jira.jboss.org/jira/browse/JBESB-1944?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Work on JBESB-1944 started by Tom Fennelly.

> The InVM courier is not completely valid from concurrency point of view
> -----------------------------------------------------------------------
>
>                 Key: JBESB-1944
>                 URL: https://jira.jboss.org/jira/browse/JBESB-1944
>             Project: JBoss ESB
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Rosetta, Transports
>    Affects Versions: 4.4
>            Reporter: Jiri Pechanec
>            Assignee: Tom Fennelly
>             Fix For: 4.4 CP1
>
>
> There are few problems with current implementation of InVM courier.
> 1) The message queue uses ConcurrentLinkedQueue as backing data structure. Unfortunately the synchronized primitive is used as lock on this queue whicm means that all advanatages of using it are negated. I guess that this approch is used for lockstep. The correct soultion is should be to have messageQueue unsychchronized and have separate Event object or separate regular object as lock holder if lockstep is in place.
> 2) The lockstep does not work correctly when there are multiple threads on input/output of the queue. The notify call does not guarantee that the correct delivery/pickup threads are waken up. For example the notify call in one delivery thread can wake up another delivery thread waiting up for the notify from pickup thread.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the esb-issues mailing list