[jboss-jira] [JBoss JIRA] (JGRP-1540) TP: simplified message bundler

Bela Ban (JIRA) jira-events at lists.jboss.org
Mon Nov 12 10:53:18 EST 2012


Bela Ban created JGRP-1540:
------------------------------

             Summary: TP: simplified message bundler
                 Key: JGRP-1540
                 URL: https://issues.jboss.org/browse/JGRP-1540
             Project: JGroups
          Issue Type: Enhancement
            Reporter: Bela Ban
            Assignee: Bela Ban
             Fix For: 3.3


Instead of maintaining a hashmap (like for the current bundlers), a simple blocking bounded queue of messages would be used. Whenever we've reached M bytes or N milliseconds have elapsed, a consumer thread processes the queue in the following manner:
- First set the queue to a new queue (volatile assignment), reuse a number of queues
- Iterate through all messages in the current queue, for each message:
  - If the destination is the same as the current destination, write the message to the stream for the current destination
  - Else set the current destination to msg.getDest() and create an output  stream (similar to writing a message list)
    - Stream the current message to the output stream
    - If there was a previous destination, close the associated output stream and send the message list

Example:
- We have messages with the following destinations: A, null, null, B, B, null, A, null, null, null
- First we send a message list consisting of 1 message to A
- Next we send a message list consisting of 2 messages to the cluster (dest==null)
- Then we send a batch of 2 messages to B, 1 to the cluster, 1 to A and 3 to the cluster


--
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