[jboss-jira] [JBoss JIRA] (JGRP-2076) TransferQueueBundler: bundler thread should remove chunks of messages

Bela Ban (JIRA) issues at jboss.org
Tue Jun 7 07:22:00 EDT 2016


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

Bela Ban resolved JGRP-2076.
----------------------------
    Resolution: Done


> TransferQueueBundler: bundler thread should remove chunks of messages
> ---------------------------------------------------------------------
>
>                 Key: JGRP-2076
>                 URL: https://issues.jboss.org/browse/JGRP-2076
>             Project: JGroups
>          Issue Type: Enhancement
>            Reporter: Bela Ban
>            Assignee: Bela Ban
>            Priority: Minor
>             Fix For: 3.6.10, 4.0
>
>
> Currently, the bundler thread in TransferQueueBundler removes messages from the queue one by one:
> {code:java}
> while(null != (msg=queue.poll())) {
>     long size=msg.size();
>     if(count + size >= transport.getMaxBundleSize())
>         sendBundledMessages();
>     addMessage(msg, size);
> }
> {code}
> This is inefficient, as we need to acquire the lock on ArrayBlockingQueue every time. {{ArrayBlockingQueue.drainTo()}} should be used instead, to remove as many messages as are in the queue with one lock acquisition.



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the jboss-jira mailing list