activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jesse Fugitt (JIRA)" <j...@apache.org>
Subject [jira] [Created] (AMQ-5354) persistJMSRedelivered feature breaks the ability for KahaDB to compact its journal files
Date Fri, 12 Sep 2014 16:54:34 GMT
Jesse Fugitt created AMQ-5354:
---------------------------------

             Summary: persistJMSRedelivered feature breaks the ability for KahaDB to compact
its journal files
                 Key: AMQ-5354
                 URL: https://issues.apache.org/jira/browse/AMQ-5354
             Project: ActiveMQ
          Issue Type: Bug
          Components: Message Store
    Affects Versions: 5.10.0
            Reporter: Jesse Fugitt
            Priority: Critical


While doing testing with persistJMSRedelivered enabled in the ActiveMQ config file (which
is new in 5.10), it became obvious that the KahaDB transaction log files are never being compacted
even though all messages had been consumed.  This is very easy to reproduce using a standard
config with the following policyEntry to enable the feature:
<destinationPolicy>
            <policyMap>
              <policyEntries>
                <policyEntry queue=">" persistJMSRedelivered="true"></policyEntry>

After waiting several minutes it was obvious the KahaDB transaction logs (~2500 files using
30GB of disk space) were not getting compacted and a log with DEBUG enabled (attached) shows
that the files are getting filtered out as gc candidates.

Since the updateMessage function is essentially doing a second "add message" operation down
in KahaDB, it appears that the reference to the original message is not being cleaned up from
the locationIndex preventing compaction of any message.  
I will attach a patch that fixes the issue but this appears to be a pretty critical issue
when using the persistJMSRedelivered feature.



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

Mime
View raw message