Rajagopal created AMQ-6354:
------------------------------

             Summary: KahaDb journal file piling up because of Durable 
subscriber destination
                 Key: AMQ-6354
                 URL: https://issues.apache.org/jira/browse/AMQ-6354
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker, KahaDB, Message Store
    Affects Versions: 5.5.1
         Environment: Linux
            Reporter: Rajagopal


AMQ Configuration:
1.      KahaDb Persistence store
2.      Topics and Queues destination are configured.
3.      Durable Subscribers configured (added/removed) dynamically (All added 
subscribers will be active) for Topic destination. 

Issue:

•       Nearly ~20 Durable Subscriber added/deleted to a particular destination 
dynamically.
•       After configuration, Once the message are sent to the Topic, the 
messages are consumed and Acknowledged by each subscribers.
•       There were 249 Subscribers and we could see from Journal file that all 
subscribers acknowledged.
•       In JMX logs after message is sent the below entries are observed for 
yyyy destination, 
o       Consumer Count is 249
o       In-Flight Count is 0
o       Dispatch count is matching with the consumer count (messages * Consumer 
count)

•       We enabled kahaDB TRACE logs and it clearly points out that for a 
particular Topic destination the journal files could not be gc collected

Snippet of activemq.log

----------------------------------------------
2016-06-30 01:41:43,980 org.apache.activemq.store.kahadb.MessageDatabase TRACE 
(MessageDatabase.java:checkpointUpdate:1413) [ActiveMQ Journal Checkpoint 
Worker] [24] | gc candidates after dest:0:xxxxx, [8066, 8067, ...........]

2016-06-30 01:41:43,980 org.apache.activemq.store.kahadb.MessageDatabase TRACE 
(MessageDatabase.java:checkpointUpdate:1413) [ActiveMQ Journal Checkpoint 
Worker] [24] | gc candidates after dest:1:yyyy, [8067, 8073, ............]
--------------------------------------------

•       After analyzing the 8066 file, we understood that 8066 has one message 
for yyyy Topic destination and 249 ACk’s in the same file. But Checkpoint 
cleanup could not remove the file. So this pattern followed and all the files 
containing the yyyy destination messages are not removed, which leads to 
journal files pile-up.

Workaround :

•       As a work around, first we restarted the process but still the files 
were not cleaned up.
•       Secondly,  we stopped the process, removed the index (db.data) file and 
restarted. Now all the files are cleaned up.
•       By above workaround, we suspect that index file is corrupted, which is 
causing the journal pile up. 
•       Our question, 
o       if index file is corrupted, what is the reason for corruption?
o       Is there any bug in the 5.5.1 version of AMQ regarding index file 
corruption for Durable Subscription?

This is sporadic issue and not reproducible always. (Not always Dynamic 
Subscription configuration leads to journal pile up)




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to