activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christian Posta (JIRA)" <>
Subject [jira] [Commented] (AMQ-4311) Spooling pending messages in the large transaction to the disk
Date Wed, 13 Feb 2013 05:02:12 GMT


Christian Posta commented on AMQ-4311:

What store are you assuming for this? Kahadb? Jdbc? Memory?
Can you put together a test that shows PFC won't block? message size for pending messages
in a tx should be counted against memory usage... any time we do a message.incrementReferenceCount(),
the usage memory will be updated (if it's the first reference).

In we check if transaction (context.isInTransaction)
and then we do message.incrementReferenceCount()...

In we increment the reference regardless
of whether it's in a tx. 

You might be on to something, but can you give more details?
> Spooling pending messages in the large transaction to the disk
> --------------------------------------------------------------
>                 Key: AMQ-4311
>                 URL:
>             Project: ActiveMQ
>          Issue Type: Improvement
>          Components: Broker, Message Store
>    Affects Versions: 5.x
>            Reporter: SuoNayi
>             Fix For: 5.9.0
> Currently MemoryTransactionStore is used to hold pending messages in a transaction.
> More pending messages in a transaction more memory is consumed.
> Because the message size of pending messages is not counted in usage limit before they
are committed so PFC wont block producers as well and large transaction will cause broker
throws OOM at last.
> Spooling pending messages in the transaction to the disk is one of solution.

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:

View raw message