Martyn Taylor created ACTIVEMQ6-64:
--------------------------------------

             Summary: Messages are paged 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


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: 




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

Reply via email to