2

We are using ActiveMQ 5.6.0 with KahaDB. It has produced quite some log files, which is to be expected with our setup (DLQ and stuff), looking like this:

$ ll -h /opt/activemq/data/kahadb/
total 969M
drwxr-xr-x 2 root     root     4.0K Nov  3 12:47 ./
drwxr-xr-x 3 activemq activemq 4.0K Sep 24 12:12 ../
-rw-r--r-- 1 root     root      39M Oct 16 07:57 db-202.log
-rw-r--r-- 1 root     root      38M Oct 16 07:57 db-203.log
-rw-r--r-- 1 root     root      33M Oct 17 08:12 db-238.log
...

No more messages were processed, when we ran into the 1GB temp usage limit. Or that's what we are assuming, is that correct?

The configuration looks like this:

<systemUsage>
    <systemUsage>
        <memoryUsage>
            <memoryUsage limit="512mb"/>
        </memoryUsage>
        <storeUsage>
            <storeUsage limit="3 gb"/>
        </storeUsage>
        <tempUsage>
            <tempUsage limit="1 gb"/>
        </tempUsage>
    </systemUsage>
</systemUsage>

After cleaning up the log files and being way below the limits, still no messages were consumed by AMQ. Only when we manually purged a route, messages were starting to be delivered again.

So we need to ensure, that the KahaDB log size always stays below the temp usage, right? And that delivery was not picked up after fixing that is a bug or are there any other steps to be taken?

xeraa
  • 123
  • 6

1 Answers1

2

Yes, you should look for the storeUsage limit.

If you have undelivered messages in queues logs can't be removed.

The solutions are: