I believe that the expiration task should go ahead and mark the message as
acknowledged if it is expired for each subscription which should mean that
message would no longer prevent a file from being garbage collected.  One
thing you can do is you can turn on debug logging for KahaDB to try and
determine why it's not garbage collecting your log files.  If you turn on
trace logging for org.apache.activemq.store.kahadb.MessageDatabase, it will
show some information about the files it is checking during the garbage
collection task.


On Tue, Oct 27, 2015 at 6:36 AM, silvade <steve.desi...@gmail.com> wrote:

> Hi Christopher, thanks for quick responds.
>
> I have some further information regarding my setup.
>
> Regarding the client ID and subscription ID, I am using the same value
> (i.e.
> "client-1") as the clientID and durableSubscriptionName.
>
> My applicationContext.xml file has set this as follows:
>
>
> <bean id="amqConnectionFactory"
> class="org.apache.activemq.ActiveMQConnectionFactory">
>         <property name="clientID" value="client-1" />
> </bean>
> ...
> <bean id="darwinConsumer"
> class="org.springframework.jms.listener.DefaultMessageListenerContainer"
> destroy-method="stop">
>         <property name="autoStartup" value="false"/>
>         <property name="concurrentConsumers" value="1"/>
>         <property name="maxConcurrentConsumers" value="1"/>
>         <property name="connectionFactory" ref="jmsConnectionFactory" />
>         <property name="exceptionListener" ref="jmsConnectionFactory"/>
>         <property name="sessionTransacted" value="true" />
>         <property name="subscriptionDurable" value="true"/>
>         <property name="durableSubscriptionName" value="client-1" />
>         <property name="destinationName" value="local" />
>         <property name="messageListener" ref="messageListenerAdapter" />
>         <property name=&quot;recoveryInterval&quot; value=&quot;1000&quot;
>         &lt;property name=&quot;sessionAcknowledgeModeName&quot;
> value=&quot;AUTO_ACKNOWLEDGE&quot; />
>         <property name="clientId" value="client-1" />
> </bean>
> ...
>
>
> I have noticed that the journal data in the kahadb directory is not removed
> even after  48 hours. I was under the impression that when a message has
> expired in the kahadb directory (e.g. db-X.log) , a job would run which
> would remove the file (even if the durable subscriber was offline at the
> time). It appears that the db-X.log files are not being removed even though
> all the messages in them have expired and are eligible for removal.
>
> Thanks,
> Steve
>
>
>
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/Message-getting-stuck-on-topic-leading-to-KahaDB-log-files-not-being-deleted-and-disk-running-out-of-tp4703370p4703402.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>

Reply via email to