[
https://issues.apache.org/jira/browse/AMQ-7006?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16545746#comment-16545746
]
Timothy Bish commented on AMQ-7006:
-----------------------------------
The patch on the surface looks ok as it does seem we are not properly cleaning
up. The cleanUpPendingAcks method seems a bit off as it's comparing every
value in the pending map to the values to be removed instead of just trying to
remove the values given and reporting the removal if successful which would
probably be more performant in the presence of many subscriptions.
You might be able to write a test that show you can send an ack for something
that should have been ack'd already and compare the ERROR response to see if
the message matches expectations as before the fix the message Ack IDs seems to
be retained so I'd expect a difference error before and after the fix.
The code should be updated to follow the style of the surrounding code instead
of introducing your own style and the logging should use the SLF4J loggers and
not System.out calls.
> CLONE - STOMP protocol converter tracks pending ACKS in Client mode but
> doesn't remove all ACK'd IDs, just the one submitted.
> -----------------------------------------------------------------------------------------------------------------------------
>
> Key: AMQ-7006
> URL: https://issues.apache.org/jira/browse/AMQ-7006
> Project: ActiveMQ
> Issue Type: Bug
> Components: stomp
> Affects Versions: 5.15.3
> Reporter: Avikash Mishra
> Priority: Major
> Attachments:
> AMQ-6975_Remove_all_pending_acks_that_have_been_dispatched_.patch
>
>
> The patch referenced in AMQ-5423 only addressed the memory leak for
> Client-Individual mode. Client mode is still affected as multiple messages
> are acknowledged with a single ACK. The single ACK is removed from memory
> but all the rest remain which grows over time until AMQ crashes or until the
> client session ends and all the pending ACKs are cleaned up at that point.
> At the moment we are having to regularly restart our STOMP clients to prevent
> the memory leak from causing a crash.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)