Question about db-x.log and delayed message

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Question about db-x.log and delayed message

COURTAULT Francois-3
Hello everyone,

First question:

-          Let's we have no consumer on a queue but we do have one producer which sends message to this queue.

-          So, a db-1.log is created than when this one is full, a new file is created db-2.log

-          Let's say that we now a fast consumer (eg faster than the producer) on this queue, will the db-2.log file removed ?

Second question about delayed message:

-          For normal message, we are able to see inqueue and dequeuer counters increasing.

-          What about delayed message, until they haven't been delivered, they will not be counted in inqueue/dequeuer counters, right ?

-          Once they have been delivered, will they be counted in inqueue/dequeuer counters ?

Best Regards.

Reply | Threaded
Open this post in threaded view
|

Re: Question about db-x.log and delayed message

AntonR
Hi,

Yes, when all messages are removed in db-1 it will get removed and all new
ones will get added to db-3. The message log is append only, so new db files
will get created and old ones removed as part of normal operations.

Beware of mixing slow and fast consumers though, as just one single message
will keep a db-file live, so if one slow consumers is mixed in with fast
ones (that create lots of new db-files), the size of your KahaDB might get
unproportionately large.

With delayed messages they should count as "Enqueued" when the brokers
receives them and "Dequeued" when the consumer has had a chance to consume
the message, meaning after the Delay is done.

Br,
Anton



--
Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html
Reply | Threaded
Open this post in threaded view
|

RE: Question about db-x.log and delayed message

COURTAULT Francois-3
Hello,

Thanks a lot for the reply.
We have performed some tests and your description matches the behavior we have seen.

But I have some questions about delayed JMS messages storage.
     - Is the storage the same for  non delayed and delayed messages ?    
     - When a delayed message is stored  in the db-x.log ? when it has been sent or when it will be available at delay expiration ?                          
 
Best Regards.

-----Original Message-----
From: AntonR [mailto:[hidden email]]
Sent: lundi 17 février 2020 15:15
To: [hidden email]
Subject: Re: Question about db-x.log and delayed message

Hi,

Yes, when all messages are removed in db-1 it will get removed and all new ones will get added to db-3. The message log is append only, so new db files will get created and old ones removed as part of normal operations.

Beware of mixing slow and fast consumers though, as just one single message will keep a db-file live, so if one slow consumers is mixed in with fast ones (that create lots of new db-files), the size of your KahaDB might get unproportionately large.

With delayed messages they should count as "Enqueued" when the brokers receives them and "Dequeued" when the consumer has had a chance to consume the message, meaning after the Delay is done.

Br,
Anton



--
Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html