[
https://issues.jboss.org/browse/JGRP-1732?page=com.atlassian.jira.plugin....
]
Bela Ban commented on JGRP-1732:
--------------------------------
This is only done for single messages which are marked as {{OOB | INTERNAL}}. For message
*batches*, all OOB messages are delivered before regular messages. Internal-only (non OOB)
messages are delivered in the order in which they were batched.
The suggestion at this point is to send internal messages as {{INTERNAL | OOB |
DONT_BUNDLE}}. When JGRP-1737 is implemented, all messages will be bundled, but messages
tagged with {{DONT_BUNDLE}} will get delivered on a seperate thread.
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