activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ACTIVEMQ6-64) Queue.totalIterator() is showing Messages twice when batch of messages pushed address over page threshold
Date Tue, 06 Jan 2015 01:33:34 GMT

    [ https://issues.apache.org/jira/browse/ACTIVEMQ6-64?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14265511#comment-14265511
] 

ASF GitHub Bot commented on ACTIVEMQ6-64:
-----------------------------------------

GitHub user clebertsuconic opened a pull request:

    https://github.com/apache/activemq-6/pull/53

    ACTIVEMQ6-64 Messages duplicated during ScaleDown or queue.totalIterator()

    The redelivery list was not isolated on the PageIterator. This is moving the
    redelivery list to the Iterator so we would have proper isolation of the functionality.
    
    The previous version was assuming a single instance of PageIterator, QueueImpl and PageSubscription.
    When we started using more than one instance of the Iterator we created this bug.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/clebertsuconic/activemq-6 master-page

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/activemq-6/pull/53.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #53
    
----
commit 200c4b457a3f95b42d36837f2bb5a85cedc11ec6
Author: Clebert Suconic <clebertsuconic@apache.org>
Date:   2015-01-05T21:39:42Z

    ACTIVEMQ6-64 Messages duplicated during ScaleDown or queue.totalIterator()
    
    The redelivery list was not isolated on the PageIterator. This is moving the
    redelivery list to the Iterator so we would have proper isolation of the functionality.
    
    The previous version was assuming a single instance of PageIterator, QueueImpl and PageSubscription.
    When we started using more than one instance of the Iterator we created this bug.

----


> Queue.totalIterator() is showing Messages twice when batch of messages pushed address
over page threshold
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: ACTIVEMQ6-64
>                 URL: https://issues.apache.org/jira/browse/ACTIVEMQ6-64
>             Project: Apache ActiveMQ 6
>          Issue Type: Bug
>            Reporter: Martyn Taylor
>            Assignee: clebert suconic
>
> When sending a batch of messages using the core protocol.  i.e. performing producer.send(message);
multiple times then calling session.commit().  The messages are paged twice.  This happens
when the number of messages in the batch pushes the address over it's max allocated memory
and initialises paging on the address.
> If the messages are committed after the paging has started this bug does not surface,
nor does it occur if the total messages in the batch do not push the address in paging mode.
> For example.
> I have an address "testAddress" backed up by a queue "testQueue".  The max memory on
the address is set to 10MB.
> If there are no messages in the queue, hence the total memory usage of the address is
<10MB and I send 20 x messages of 1MB, the call session.commit().  The messages that exceed
the memory limit are paged twice.  Messages 1 - 10 stay in memory, messages 11 - 20 are paged
twice.
> This does not happen when the address is already in paging mode.  If the address is in
paging mode before we send the 20 messages, the server behaves as expected and pages all 20
messages once.
> I have created a test to show this behaviour here: https://github.com/mtaylor/activemq-6/commit/b7bee77bcefb12c4b104c0beb3f4dc9aab545f6b



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message