[jboss-jira] [JBoss JIRA] Commented: (JGRP-828) RpcDispatcher/MessageDispatcher: deprecate deadlock detection

Bela Ban (JIRA) jira-events at lists.jboss.org
Fri Oct 10 10:23:20 EDT 2008


    [ https://jira.jboss.org/jira/browse/JGRP-828?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12433396#action_12433396 ] 

Bela Ban commented on JGRP-828:
-------------------------------

Hmm, with the introduction of CAS in UNICAST and NAKACK to determine whether the incoming thread should terminate (because there is already another thread processing all incoming messages for a given sender) [https://jira.jboss.org/jira/browse/JGRP-829], removing deadlock detection is problematic. 

If we have an incoming unicast, which synchronously invokes a method which returns unicast responses, then the lock will be released with eager_lock_release=true, but the CAS will not be set to false before the method returns !

This means that the unicast results will not get processed by the incoming threads which sheperded them up the stack, but by the current processing thread *which is blocked* waiting for the return values !

This only applies to non-OOB messages; OOB messages never acquire the big per-sender lock. However, responses are never tagged as OOB, so the will have to acquire that lock.

Needs more study, possible solutions:
- Don't support recursive synchronous RPCs
- Send responses as OOB
- Send down-messages from within an incoming thread on a separate thread (e.g. down-thread-pool) (?)



> RpcDispatcher/MessageDispatcher: deprecate deadlock detection
> -------------------------------------------------------------
>
>                 Key: JGRP-828
>                 URL: https://jira.jboss.org/jira/browse/JGRP-828
>             Project: JGroups
>          Issue Type: Task
>            Reporter: Bela Ban
>            Assignee: Bela Ban
>             Fix For: 2.7
>
>
> No longer needed with a concurrent stack

-- 
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 jboss-jira mailing list