You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Nezih BEN FREDJ (JIRA)" <ji...@apache.org> on 2018/07/16 14:46:00 UTC

[jira] [Comment Edited] (AMQ-7009) ActiveMQ stop delivering messages

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

Nezih BEN FREDJ edited comment on AMQ-7009 at 7/16/18 2:45 PM:
---------------------------------------------------------------

We have done the upgrade to the latest version 5.15.4 and the problem does persist.

In attachement, the new version of the class modified to generate some helpful logs.

[^MemoryMessageStore.java]


was (Author: nezih):
We have done the upgrade to the latest version 5.15.4 and the problem do persist.

In attachement, the new version of the class modified to generate some helpful logs.

[^MemoryMessageStore.java]

> ActiveMQ stop delivering messages
> ---------------------------------
>
>                 Key: AMQ-7009
>                 URL: https://issues.apache.org/jira/browse/AMQ-7009
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.13.4
>            Reporter: Nezih BEN FREDJ
>            Priority: Major
>         Attachments: MemoryMessageStore.java, MemoryMessageStore.java, activemq.log
>
>
> We have a problem with ActiveMQ 5.13.4, it stop deliver messages to clients.
> This happens completely randomly and we are not able to give a test case that reproduce the problem
> Activemq is configured to use the « memoryPersistenceAdapter »
>  
> When examining memory dumps, we identified incoherent situation in the class MemoryMessageStore that can lead to stop delivering messages. When :
> - MemoryMessageStore.recoverNextMessages(...) is called
> - « lastBatchId » is not null
> - « messageTable » does not contains any entry with « lastBatchId » as key
> no messages are recovered
>  
> We added logs to try to understand how it is possible to have a non null « lastBatchId » and «  messageTable » with no entry having « lastBatchId » as key.
>  
> We noticed that the method setBatch is called with a non null « messageId » parameter, but no message with this id is inserted in « messageTable ». After that, when the method MemoryMessageStore.recoverNextMessages(...) is called, it does nothing and no messages are recoverd. And the system go in a what looks like an endless loop.
>  
> We are testing a temporary solution by resetting « lastBatchId » to null when the incoherent situation is detected.
>  
> Can you help us resolving the problem at the source and not just get around.
> I joined modified source code of the class MemoryMessageStore and an extract of the log file.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)