The bug wouldn't be on the persistence layer itself. The MQTT protocol manager is managing retainers by removing (acking) older messages. And something is broken. I'm not sure if it's a general case or something specifically to your use case. I was wondering if you could replicate the issue on a simple testsuite...
Martyn has done a lot of work around the MQTT protocol manager. I know him personally and he's not around today, so I'm wondering if he will be able to pick up this issue tomorrow. but if you had a test replicating the issue it would help anyone to jump on the issue quicker. On Tue, Jan 31, 2017 at 6:27 AM, francesco81 <francesco.padov...@bticino.it> wrote: > Hi Clebert, > good to know it. > But, just to be clear, I have the same problem also with persistence enabled > (indeed, it's even worse). > Regardless of the persistence, the behavior is the same: after a certain > window of usage, ram fills and the broker starts to work constantly in > paging mode (cpu --> 100%), becoming almost unusable. > - If persistence is disabled, I can restart the broker and it comes back to > work fast (ram is free) ..but the problem, of course, is only postponed for > another window of usage (currently about 10 days, for my use case). > - If persistence is enabled, I can restart the broker, but it starts to > retrieve all stored messages from disk, ram fills quickly again, it returns > to work in paging mode and cpu goes to 100%. Therefore I'm pratically > obliged to disable persistence. > > Could it be something related to a misconfiguration of my broker instance? I > notice also that all messages witha QoS > 0 (regardless whether retained or > not) have the property durable=true: does this mean that all those messages > will persist in memory forever? There is no one else who is facing the same > issue by using Artemis as mqtt broker? > > Following is my "address-settings" configuration section within broker.xml > file. It's the only one that I changed in the standard configuration (apart > the acceptor for mqtt of course). Hope can help: > > * <address-settings> > > <address-setting match="#"> > <dead-letter-address>jms.queue.DLQ</dead-letter-address> > <expiry-address>jms.queue.ExpiryQueue</expiry-address> > <redelivery-delay>0</redelivery-delay> > > <max-size-bytes>-1</max-size-bytes> > > <message-counter-history-day-limit>10</message-counter-history-day-limit> > <address-full-policy>PAGE</address-full-policy> > <last-value-queue>true</last-value-queue> > </address-setting> > </address-settings>* > > Francesco > > > > -- > View this message in context: > http://activemq.2283324.n4.nabble.com/ARTEMIS-bad-performance-behaviour-after-7-10-days-of-usage-tp4721272p4721417.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. -- Clebert Suconic