Hi Justin,

Thanks again for your valuable insights.

We do use indirect scheduled messages intensively since we have redelivery-delay=1000, redelivery-multiplier=2, redelivery-attempts=9 settings for the majority of queues. We also use message-counter-history-day-limit=10 for all queues if that is at all significant.

We have not tried explicit compacting the journal yet and since the AMQ-related tables on production environments that ran into this situation were truncated to get things back up we can not do this right now. I was under the impression that Artemis also compacts the journal during startup. If that is true could we not simply try restarting the Wildfly server if we see large journal volumes to check if that makes a difference, or is that not the same? If so, could you elaborate a bit since I know how to stop/start the broker from the JBoss CLI but have no knowledge about an explicit journal compaction command.

We use JDBC persistence for a couple of reasons. Having the journal inside the database makes it easier for us to keep things in sync with backups/restores which we also use heavily for trouble shooting. In addition to that using file based persistence comes with additional costs in our cloud environments.

Silvio


On 28-10-2024 15:04, Justin Bertram wrote:
Based on the information you provided I can say that the problem isn't what
I originally expected. Here's how the data breaks down per record type:

- Add (11)
   - Set scheduled delivery time (36): 376,143,458
   - Update delivery count(34): 290,102
- Add Transactional (13)
   - Add message (45):  63,893
- Update Transactional (14)
   - Add reference (32) 63,893
   - Acknowledge reference (33) 2
- Prepare (17): 228
- Commit (18): 22,941

So it looks like you're using a lot of scheduled messages, either directly
or indirectly (e.g. via redelivery delay), and the records related to the
delivery schedule are accumulating. If you stop the broker and run the
"journal compact" command does the number of records in the database drop?

Out of curiosity, is there a specific reason you're using JDBC vs. the
traditional file-based journal on local disk?


Justin

Reply via email to