You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by de...@apache.org on 2012/08/14 14:35:26 UTC

svn commit: r1372859 - in /activemq/trunk/activemq-core/src: main/java/org/apache/activemq/store/kahadb/KahaDBStore.java main/java/org/apache/activemq/store/kahadb/MessageDatabase.java test/java/org/apache/activemq/store/kahadb/KahaDBFastEnqueueTest.java

Author: dejanb
Date: Tue Aug 14 12:35:26 2012
New Revision: 1372859

URL: http://svn.apache.org/viewvc?rev=1372859&view=rev
Log:
https://issues.apache.org/jira/browse/AMQ-3973 - data.db not calculated in store size

Modified:
    activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/KahaDBStore.java
    activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/MessageDatabase.java
    activemq/trunk/activemq-core/src/test/java/org/apache/activemq/store/kahadb/KahaDBFastEnqueueTest.java

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/KahaDBStore.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/KahaDBStore.java?rev=1372859&r1=1372858&r2=1372859&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/KahaDBStore.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/KahaDBStore.java Tue Aug 14 12:35:26 2012
@@ -65,7 +65,6 @@ import org.apache.activemq.usage.MemoryU
 import org.apache.activemq.usage.SystemUsage;
 import org.apache.activemq.util.ServiceStopper;
 import org.apache.activemq.wireformat.WireFormat;
-import org.apache.kahadb.util.ByteSequence;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.apache.kahadb.journal.Location;
@@ -994,7 +993,11 @@ public class KahaDBStore extends Message
     }
 
     public long size() {
-        return storeSize.get();
+        try {
+            return journalSize.get() + getPageFile().getDiskSize();
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
     }
 
     public void beginTransaction(ConnectionContext context) throws IOException {

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/MessageDatabase.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/MessageDatabase.java?rev=1372859&r1=1372858&r2=1372859&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/MessageDatabase.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/MessageDatabase.java Tue Aug 14 12:35:26 2012
@@ -207,7 +207,7 @@ public abstract class MessageDatabase ex
     protected boolean enableJournalDiskSyncs=true;
     protected boolean archiveDataLogs;
     protected File directoryArchive;
-    protected AtomicLong storeSize = new AtomicLong(0);
+    protected AtomicLong journalSize = new AtomicLong(0);
     long checkpointInterval = 5*1000;
     long cleanupInterval = 30*1000;
     int journalMaxFileLength = Journal.DEFAULT_MAX_FILE_LENGTH;
@@ -2170,7 +2170,7 @@ public abstract class MessageDatabase ex
         manager.setChecksum(checksumJournalFiles || checkForCorruptJournalFiles);
         manager.setWriteBatchSize(getJournalMaxWriteBatchSize());
         manager.setArchiveDataLogs(isArchiveDataLogs());
-        manager.setSizeAccumulator(storeSize);
+        manager.setSizeAccumulator(journalSize);
         manager.setEnableAsyncDiskSync(isEnableJournalDiskSyncs());
         if (getDirectoryArchive() != null) {
             IOHelper.mkdirs(getDirectoryArchive());

Modified: activemq/trunk/activemq-core/src/test/java/org/apache/activemq/store/kahadb/KahaDBFastEnqueueTest.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/store/kahadb/KahaDBFastEnqueueTest.java?rev=1372859&r1=1372858&r2=1372859&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/test/java/org/apache/activemq/store/kahadb/KahaDBFastEnqueueTest.java (original)
+++ activemq/trunk/activemq-core/src/test/java/org/apache/activemq/store/kahadb/KahaDBFastEnqueueTest.java Tue Aug 14 12:35:26 2012
@@ -92,6 +92,8 @@ public class KahaDBFastEnqueueTest {
         LOG.info("Rate:                       " + (toSend * 1000/duration) + "m/s");
         LOG.info("Total send:             " + totalSent);
         LOG.info("Total journal write: " + kahaDBPersistenceAdapter.getStore().getJournal().length());
+        LOG.info("Total index size " + kahaDBPersistenceAdapter.getStore().getPageFile().getDiskSize());
+        LOG.info("Total store size: " + kahaDBPersistenceAdapter.size());
         LOG.info("Journal writes %:    " + kahaDBPersistenceAdapter.getStore().getJournal().length() / (double)totalSent * 100 + "%");
 
         restartBroker(0, 1200000);
@@ -134,6 +136,8 @@ public class KahaDBFastEnqueueTest {
         LOG.info("Rate:                       " + (toSend * 1000/duration) + "m/s");
         LOG.info("Total send:             " + totalSent);
         LOG.info("Total journal write: " + kahaDBPersistenceAdapter.getStore().getJournal().length());
+        LOG.info("Total index size " + kahaDBPersistenceAdapter.getStore().getPageFile().getDiskSize());
+        LOG.info("Total store size: " + kahaDBPersistenceAdapter.size());
         LOG.info("Journal writes %:    " + kahaDBPersistenceAdapter.getStore().getJournal().length() / (double)totalSent * 100 + "%");
 
         restartBroker(0, 0);