[jboss-jira] [JBoss JIRA] (JGRP-1732) UNICAST/NAKACK: threads from the internal thread pool should not do work stealing
Bela Ban (JIRA)
issues at jboss.org
Tue Jan 7 02:53:32 EST 2014
[ https://issues.jboss.org/browse/JGRP-1732?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bela Ban reopened JGRP-1732:
----------------------------
There's a problem with not doing work stealing:
* We have A sending unicast messages to B
* A sends 5, 6(OOB|INTERNAL), 7
* B receives regular message 5 and delivers it
* B receives regular message 7 and queues it
* B receives OOB|INTERNAL message 6 and delivers it
** Since message 6 is marked as OOB|INTERNAL, the thread returns and does not perform any work stealing, ie. it does not deliver message 7
* B sends an ACK for 8 to A
** The problem is that now A does *not retransmit A:8*, so it could be picked up by a new thread and get delivered !
==> Message A:8 will not get delivered until A sends another message !
> UNICAST/NAKACK: threads from the internal thread pool should not do work stealing
> ---------------------------------------------------------------------------------
>
> Key: JGRP-1732
> URL: https://issues.jboss.org/browse/JGRP-1732
> Project: JGroups
> Issue Type: Enhancement
> Reporter: Bela Ban
> Assignee: Bela Ban
> Fix For: 3.5
>
>
> In NAKACK\{2\} and UNICAST\{2,3\}, threads from all thread pools (regular, OOB and internal) add messages to the table, then grab as many (ordered) messages as possible from the table and pass them up.
> This could lead to the case where an internal thread passes up regular or OOB messages, which might block. There's a (small) chance that this exhausts the internal thread pool.
> Internal threads should therefore never block, and never steal work from other thread pools.
> SOLUTION:
> * An internal thread only adds the message to the table and passes it up if in order
> * If the internal message is OOB, it is passed up and then the thread returns
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list