activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Tully (JIRA)" <>
Subject [jira] [Resolved] (AMQ-5136) MemoryUsage is not decremented on a JMS topic when rolling back a transacted session
Date Wed, 30 Apr 2014 16:10:24 GMT


Gary Tully resolved AMQ-5136.

    Resolution: Fixed

thanks for the nice test.
fix and test in

> MemoryUsage is not decremented on a JMS topic when rolling back a transacted session
> ------------------------------------------------------------------------------------
>                 Key: AMQ-5136
>                 URL:
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.8.0, 5.9.0
>            Reporter: Sergiy Barlabanov
>            Assignee: Gary Tully
>             Fix For: 5.10.0
>         Attachments:
> When sending a message to a topic using a transacted session, memory usage is not decremented
correctly when session.rollback is called. It is decremented on commit but not on rollback.
This has quite bad consequences since after some time depending on the system memory usage
settings and amount of rolled back messages, the broker starts to reject messages saying that
Usage Manager memory limit is reached. The only solution is to restart the broker.
> I created a small Maven project (see the attachment) with a unit test starting an embedded
broker and two test methods: one sending messages with session.commit and another with session.rollback().
The last one fails to assert the memory usage. In the output one can see quite a lot of error
logs written by ActiveMQ. The problem is reproducible with 5.8.0 and 5.9.0.
> The problem seems to be in method
where a transaction synchronization is registered. In the transaction synchronization only
afterCommit is supplied, but no afterRollback. So there seems to be nobody calling message.decrementReferenceCount().

This message was sent by Atlassian JIRA

View raw message