activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From chir...@apache.org
Subject svn commit: r961140 - in /activemq/sandbox/activemq-apollo-actor: activemq-broker/src/main/scala/org/apache/activemq/apollo/broker/ activemq-broker/src/test/resources/org/apache/activemq/apollo/broker/perf/ activemq-broker/src/test/scala/org/apache/act...
Date Wed, 07 Jul 2010 04:09:59 GMT
Author: chirino
Date: Wed Jul  7 04:09:59 2010
New Revision: 961140

URL: http://svn.apache.org/viewvc?rev=961140&view=rev
Log:
hawtdb based perf test in

Modified:
    activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/scala/org/apache/activemq/apollo/broker/VirtualHost.scala
    activemq/sandbox/activemq-apollo-actor/activemq-broker/src/test/resources/org/apache/activemq/apollo/broker/perf/persistent-report.html
    activemq/sandbox/activemq-apollo-actor/activemq-broker/src/test/scala/org/apache/activemq/apollo/broker/perf/BrokerPerfSupport.scala
    activemq/sandbox/activemq-apollo-actor/activemq-hawtdb/src/main/scala/org/apache/activemq/broker/store/hawtdb/HawtDBClient.scala
    activemq/sandbox/activemq-apollo-actor/activemq-stomp/src/test/scala/org/apache/activemq/apollo/stomp/perf/StompBrokerPerfTest.scala
    activemq/sandbox/activemq-apollo-actor/activemq-util/src/test/resources/log4j.properties
    activemq/sandbox/activemq-apollo-actor/activemq-util/src/test/scala/org/apache/activemq/apollo/broker/FunSuiteSupport.scala

Modified: activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/scala/org/apache/activemq/apollo/broker/VirtualHost.scala
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/scala/org/apache/activemq/apollo/broker/VirtualHost.scala?rev=961140&r1=961139&r2=961140&view=diff
==============================================================================
--- activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/scala/org/apache/activemq/apollo/broker/VirtualHost.scala
(original)
+++ activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/scala/org/apache/activemq/apollo/broker/VirtualHost.scala
Wed Jul  7 04:09:59 2010
@@ -83,7 +83,7 @@ object VirtualHost extends Log {
 /**
  * @author <a href="http://hiramchirino.com">Hiram Chirino</a>
  */
-class VirtualHost(val broker: Broker) extends BaseService with DispatchLogging {
+class VirtualHost(val broker: Broker) extends BaseService with DispatchLogging with LoggingReporter
{
   import VirtualHost._
   
   override protected def log = VirtualHost
@@ -126,6 +126,8 @@ class VirtualHost(val broker: Broker) ex
   override protected def _start(onCompleted:Runnable):Unit = {
     val tracker = new LoggingTracker("virtual host startup", dispatchQueue)
     store = StoreFactory.create(config.store)
+    
+    store.configure(config.store, this)
     if( store!=null ) {
       val task = tracker.task("store startup")
       store.start(^{
@@ -192,9 +194,10 @@ class VirtualHost(val broker: Broker) ex
 //        done.await();
 
     if( store!=null ) {
-      store.stop();
+      store.stop(onCompleted);
+    } else {
+      onCompleted.run
     }
-    onCompleted.run
   }
 
   def getQueue(destination:Destination)(cb: (Queue)=>Unit ) = ^{

Modified: activemq/sandbox/activemq-apollo-actor/activemq-broker/src/test/resources/org/apache/activemq/apollo/broker/perf/persistent-report.html
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-apollo-actor/activemq-broker/src/test/resources/org/apache/activemq/apollo/broker/perf/persistent-report.html?rev=961140&r1=961139&r2=961140&view=diff
==============================================================================
--- activemq/sandbox/activemq-apollo-actor/activemq-broker/src/test/resources/org/apache/activemq/apollo/broker/perf/persistent-report.html
(original)
+++ activemq/sandbox/activemq-apollo-actor/activemq-broker/src/test/resources/org/apache/activemq/apollo/broker/perf/persistent-report.html
Wed Jul  7 04:09:59 2010
@@ -37,178 +37,154 @@
       google.setOnLoadCallback(function() {
         data = new google.visualization.DataTable();
         data.addColumn('string', 'version');
-          data.addColumn('number', 'queue 20b 1->1->1 producer');
-          data.addColumn('number', 'queue 20b 1->1->1 consumer');
-          data.addColumn('number', 'queue 20b 10->10->10 producer');
-          data.addColumn('number', 'queue 20b 10->10->10 producer sd');
-          data.addColumn('number', 'queue 20b 10->10->10 consumer');
-          data.addColumn('number', 'queue 20b 10->10->10 consumer sd');
-          data.addColumn('number', 'queue 20b 100->100->100 producer');
-          data.addColumn('number', 'queue 20b 100->100->100 producer sd');
-          data.addColumn('number', 'queue 20b 100->100->100 consumer');
-          data.addColumn('number', 'queue 20b 100->100->100 consumer sd');
-          data.addColumn('number', 'queue 20b 1000->1000->1000 producer');
-          data.addColumn('number', 'queue 20b 1000->1000->1000 producer sd');
-          data.addColumn('number', 'queue 20b 1000->1000->1000 consumer');
-          data.addColumn('number', 'queue 20b 1000->1000->1000 consumer sd');
-          data.addColumn('number', 'queue 20b 100->100->100 producer');
-          data.addColumn('number', 'queue 20b 100->100->100 producer sd');
-          data.addColumn('number', 'queue 20b 100->100->100 consumer');
-          data.addColumn('number', 'queue 20b 100->100->100 consumer sd');
-          data.addColumn('number', 'queue 20b 100->1->1 producer');
-          data.addColumn('number', 'queue 20b 100->1->1 producer sd');
-          data.addColumn('number', 'queue 20b 100->1->1 consumer');
-          data.addColumn('number', 'queue 20b 1->1->100 producer');
-          data.addColumn('number', 'queue 20b 1->1->100 consumer');
-          data.addColumn('number', 'queue 20b 1->1->100 consumer sd');
-          data.addColumn('number', 'queue 20b 100->1->100 producer');
-          data.addColumn('number', 'queue 20b 100->1->100 producer sd');
-          data.addColumn('number', 'queue 20b 100->1->100 consumer');
-          data.addColumn('number', 'queue 20b 100->1->100 consumer sd');
-          data.addColumn('number', 'queue 1k 1->1->1 producer');
-          data.addColumn('number', 'queue 1k 1->1->1 consumer');
-          data.addColumn('number', 'queue 1k 10->10->10 producer');
-          data.addColumn('number', 'queue 1k 10->10->10 producer sd');
-          data.addColumn('number', 'queue 1k 10->10->10 consumer');
-          data.addColumn('number', 'queue 1k 10->10->10 consumer sd');
-          data.addColumn('number', 'queue 1k 100->100->100 producer');
-          data.addColumn('number', 'queue 1k 100->100->100 producer sd');
-          data.addColumn('number', 'queue 1k 100->100->100 consumer');
-          data.addColumn('number', 'queue 1k 100->100->100 consumer sd');
-          data.addColumn('number', 'queue 1k 1000->1000->1000 producer');
-          data.addColumn('number', 'queue 1k 1000->1000->1000 producer sd');
-          data.addColumn('number', 'queue 1k 1000->1000->1000 consumer');
-          data.addColumn('number', 'queue 1k 1000->1000->1000 consumer sd');
-          data.addColumn('number', 'queue 1k 100->100->100 producer');
-          data.addColumn('number', 'queue 1k 100->100->100 producer sd');
-          data.addColumn('number', 'queue 1k 100->100->100 consumer');
-          data.addColumn('number', 'queue 1k 100->100->100 consumer sd');
-          data.addColumn('number', 'queue 1k 100->1->1 producer');
-          data.addColumn('number', 'queue 1k 100->1->1 producer sd');
-          data.addColumn('number', 'queue 1k 100->1->1 consumer');
-          data.addColumn('number', 'queue 1k 1->1->100 producer');
-          data.addColumn('number', 'queue 1k 1->1->100 consumer');
-          data.addColumn('number', 'queue 1k 1->1->100 consumer sd');
-          data.addColumn('number', 'queue 1k 100->1->100 producer');
-          data.addColumn('number', 'queue 1k 100->1->100 producer sd');
-          data.addColumn('number', 'queue 1k 100->1->100 consumer');
-          data.addColumn('number', 'queue 1k 100->1->100 consumer sd');
-          data.addColumn('number', 'queue 256k 1->1->1 producer');
-          data.addColumn('number', 'queue 256k 1->1->1 consumer');
-          data.addColumn('number', 'queue 256k 10->10->10 producer');
-          data.addColumn('number', 'queue 256k 10->10->10 producer sd');
-          data.addColumn('number', 'queue 256k 10->10->10 consumer');
-          data.addColumn('number', 'queue 256k 10->10->10 consumer sd');
-          data.addColumn('number', 'queue 256k 100->100->100 producer');
-          data.addColumn('number', 'queue 256k 100->100->100 producer sd');
-          data.addColumn('number', 'queue 256k 100->100->100 consumer');
-          data.addColumn('number', 'queue 256k 100->100->100 consumer sd');
-          data.addColumn('number', 'queue 256k 1000->1000->1000 producer');
-          data.addColumn('number', 'queue 256k 1000->1000->1000 producer sd');
-          data.addColumn('number', 'queue 256k 1000->1000->1000 consumer');
-          data.addColumn('number', 'queue 256k 1000->1000->1000 consumer sd');
-          data.addColumn('number', 'queue 256k 100->100->100 producer');
-          data.addColumn('number', 'queue 256k 100->100->100 producer sd');
-          data.addColumn('number', 'queue 256k 100->100->100 consumer');
-          data.addColumn('number', 'queue 256k 100->100->100 consumer sd');
-          data.addColumn('number', 'queue 256k 100->1->1 producer');
-          data.addColumn('number', 'queue 256k 100->1->1 producer sd');
-          data.addColumn('number', 'queue 256k 100->1->1 consumer');
-          data.addColumn('number', 'queue 256k 1->1->100 producer');
-          data.addColumn('number', 'queue 256k 1->1->100 consumer');
-          data.addColumn('number', 'queue 256k 1->1->100 consumer sd');
-          data.addColumn('number', 'queue 256k 100->1->100 producer');
-          data.addColumn('number', 'queue 256k 100->1->100 producer sd');
-          data.addColumn('number', 'queue 256k 100->1->100 consumer');
-          data.addColumn('number', 'queue 256k 100->1->100 consumer sd');
-          data.addColumn('number', 'topic 20b 1->1->0 producer');
-          data.addColumn('number', 'topic 20b 1->1->1 producer');
-          data.addColumn('number', 'topic 20b 1->1->1 consumer');
-          data.addColumn('number', 'topic 20b 10->10->10 producer');
-          data.addColumn('number', 'topic 20b 10->10->10 producer sd');
-          data.addColumn('number', 'topic 20b 10->10->10 consumer');
-          data.addColumn('number', 'topic 20b 10->10->10 consumer sd');
-          data.addColumn('number', 'topic 20b 100->100->100 producer');
-          data.addColumn('number', 'topic 20b 100->100->100 producer sd');
-          data.addColumn('number', 'topic 20b 100->100->100 consumer');
-          data.addColumn('number', 'topic 20b 100->100->100 consumer sd');
-          data.addColumn('number', 'topic 20b 1000->1000->1000 producer');
-          data.addColumn('number', 'topic 20b 1000->1000->1000 producer sd');
-          data.addColumn('number', 'topic 20b 1000->1000->1000 consumer');
-          data.addColumn('number', 'topic 20b 1000->1000->1000 consumer sd');
-          data.addColumn('number', 'topic 20b 100->100->100 producer');
-          data.addColumn('number', 'topic 20b 100->100->100 producer sd');
-          data.addColumn('number', 'topic 20b 100->100->100 consumer');
-          data.addColumn('number', 'topic 20b 100->100->100 consumer sd');
-          data.addColumn('number', 'topic 20b 100->1->1 producer');
-          data.addColumn('number', 'topic 20b 100->1->1 producer sd');
-          data.addColumn('number', 'topic 20b 100->1->1 consumer');
-          data.addColumn('number', 'topic 20b 1->1->100 producer');
-          data.addColumn('number', 'topic 20b 1->1->100 consumer');
-          data.addColumn('number', 'topic 20b 1->1->100 consumer sd');
-          data.addColumn('number', 'topic 20b 100->1->100 producer');
-          data.addColumn('number', 'topic 20b 100->1->100 producer sd');
-          data.addColumn('number', 'topic 20b 100->1->100 consumer');
-          data.addColumn('number', 'topic 20b 100->1->100 consumer sd');
-          data.addColumn('number', 'topic 1k 1->1->0 producer');
-          data.addColumn('number', 'topic 1k 1->1->1 producer');
-          data.addColumn('number', 'topic 1k 1->1->1 consumer');
-          data.addColumn('number', 'topic 1k 10->10->10 producer');
-          data.addColumn('number', 'topic 1k 10->10->10 producer sd');
-          data.addColumn('number', 'topic 1k 10->10->10 consumer');
-          data.addColumn('number', 'topic 1k 10->10->10 consumer sd');
-          data.addColumn('number', 'topic 1k 100->100->100 producer');
-          data.addColumn('number', 'topic 1k 100->100->100 producer sd');
-          data.addColumn('number', 'topic 1k 100->100->100 consumer');
-          data.addColumn('number', 'topic 1k 100->100->100 consumer sd');
-          data.addColumn('number', 'topic 1k 1000->1000->1000 producer');
-          data.addColumn('number', 'topic 1k 1000->1000->1000 producer sd');
-          data.addColumn('number', 'topic 1k 1000->1000->1000 consumer');
-          data.addColumn('number', 'topic 1k 1000->1000->1000 consumer sd');
-          data.addColumn('number', 'topic 1k 100->100->100 producer');
-          data.addColumn('number', 'topic 1k 100->100->100 producer sd');
-          data.addColumn('number', 'topic 1k 100->100->100 consumer');
-          data.addColumn('number', 'topic 1k 100->100->100 consumer sd');
-          data.addColumn('number', 'topic 1k 100->1->1 producer');
-          data.addColumn('number', 'topic 1k 100->1->1 producer sd');
-          data.addColumn('number', 'topic 1k 100->1->1 consumer');
-          data.addColumn('number', 'topic 1k 1->1->100 producer');
-          data.addColumn('number', 'topic 1k 1->1->100 consumer');
-          data.addColumn('number', 'topic 1k 1->1->100 consumer sd');
-          data.addColumn('number', 'topic 1k 100->1->100 producer');
-          data.addColumn('number', 'topic 1k 100->1->100 producer sd');
-          data.addColumn('number', 'topic 1k 100->1->100 consumer');
-          data.addColumn('number', 'topic 1k 100->1->100 consumer sd');
-          data.addColumn('number', 'topic 256k 1->1->0 producer');
-          data.addColumn('number', 'topic 256k 1->1->1 producer');
-          data.addColumn('number', 'topic 256k 1->1->1 consumer');
-          data.addColumn('number', 'topic 256k 10->10->10 producer');
-          data.addColumn('number', 'topic 256k 10->10->10 producer sd');
-          data.addColumn('number', 'topic 256k 10->10->10 consumer');
-          data.addColumn('number', 'topic 256k 10->10->10 consumer sd');
-          data.addColumn('number', 'topic 256k 100->100->100 producer');
-          data.addColumn('number', 'topic 256k 100->100->100 producer sd');
-          data.addColumn('number', 'topic 256k 100->100->100 consumer');
-          data.addColumn('number', 'topic 256k 100->100->100 consumer sd');
-          data.addColumn('number', 'topic 256k 1000->1000->1000 producer');
-          data.addColumn('number', 'topic 256k 1000->1000->1000 producer sd');
-          data.addColumn('number', 'topic 256k 1000->1000->1000 consumer');
-          data.addColumn('number', 'topic 256k 1000->1000->1000 consumer sd');
-          data.addColumn('number', 'topic 256k 100->100->100 producer');
-          data.addColumn('number', 'topic 256k 100->100->100 producer sd');
-          data.addColumn('number', 'topic 256k 100->100->100 consumer');
-          data.addColumn('number', 'topic 256k 100->100->100 consumer sd');
-          data.addColumn('number', 'topic 256k 100->1->1 producer');
-          data.addColumn('number', 'topic 256k 100->1->1 producer sd');
-          data.addColumn('number', 'topic 256k 100->1->1 consumer');
-          data.addColumn('number', 'topic 256k 1->1->100 producer');
-          data.addColumn('number', 'topic 256k 1->1->100 consumer');
-          data.addColumn('number', 'topic 256k 1->1->100 consumer sd');
-          data.addColumn('number', 'topic 256k 100->1->100 producer');
-          data.addColumn('number', 'topic 256k 100->1->100 producer sd');
-          data.addColumn('number', 'topic 256k 100->1->100 consumer');
-          data.addColumn('number', 'topic 256k 100->1->100 consumer sd');
-
+          data.addColumn('number', 'queue 20b 1->1->1 producer')
+          data.addColumn('number', 'queue 20b 1->1->1 consumer')
+          data.addColumn('number', 'queue 20b 10->10->10 producer')
+          data.addColumn('number', 'queue 20b 10->10->10 producer sd')
+          data.addColumn('number', 'queue 20b 10->10->10 consumer')
+          data.addColumn('number', 'queue 20b 10->10->10 consumer sd')
+          data.addColumn('number', 'queue 20b 50->50->50 producer')
+          data.addColumn('number', 'queue 20b 50->50->50 producer sd')
+          data.addColumn('number', 'queue 20b 50->50->50 consumer')
+          data.addColumn('number', 'queue 20b 50->50->50 consumer sd')
+          data.addColumn('number', 'queue 20b 100->100->100 producer')
+          data.addColumn('number', 'queue 20b 100->100->100 producer sd')
+          data.addColumn('number', 'queue 20b 100->100->100 consumer')
+          data.addColumn('number', 'queue 20b 100->100->100 consumer sd')
+          data.addColumn('number', 'queue 20b 100->1->1 producer')
+          data.addColumn('number', 'queue 20b 100->1->1 producer sd')
+          data.addColumn('number', 'queue 20b 100->1->1 consumer')
+          data.addColumn('number', 'queue 20b 1->1->100 producer')
+          data.addColumn('number', 'queue 20b 1->1->100 consumer')
+          data.addColumn('number', 'queue 20b 1->1->100 consumer sd')
+          data.addColumn('number', 'queue 20b 100->1->100 producer')
+          data.addColumn('number', 'queue 20b 100->1->100 producer sd')
+          data.addColumn('number', 'queue 20b 100->1->100 consumer')
+          data.addColumn('number', 'queue 20b 100->1->100 consumer sd')
+          data.addColumn('number', 'queue 1k 1->1->1 producer')
+          data.addColumn('number', 'queue 1k 1->1->1 consumer')
+          data.addColumn('number', 'queue 1k 10->10->10 producer')
+          data.addColumn('number', 'queue 1k 10->10->10 producer sd')
+          data.addColumn('number', 'queue 1k 10->10->10 consumer')
+          data.addColumn('number', 'queue 1k 10->10->10 consumer sd')
+          data.addColumn('number', 'queue 1k 50->50->50 producer')
+          data.addColumn('number', 'queue 1k 50->50->50 producer sd')
+          data.addColumn('number', 'queue 1k 50->50->50 consumer')
+          data.addColumn('number', 'queue 1k 50->50->50 consumer sd')
+          data.addColumn('number', 'queue 1k 100->100->100 producer')
+          data.addColumn('number', 'queue 1k 100->100->100 producer sd')
+          data.addColumn('number', 'queue 1k 100->100->100 consumer')
+          data.addColumn('number', 'queue 1k 100->100->100 consumer sd')
+          data.addColumn('number', 'queue 1k 100->1->1 producer')
+          data.addColumn('number', 'queue 1k 100->1->1 producer sd')
+          data.addColumn('number', 'queue 1k 100->1->1 consumer')
+          data.addColumn('number', 'queue 1k 1->1->100 producer')
+          data.addColumn('number', 'queue 1k 1->1->100 consumer')
+          data.addColumn('number', 'queue 1k 1->1->100 consumer sd')
+          data.addColumn('number', 'queue 1k 100->1->100 producer')
+          data.addColumn('number', 'queue 1k 100->1->100 producer sd')
+          data.addColumn('number', 'queue 1k 100->1->100 consumer')
+          data.addColumn('number', 'queue 1k 100->1->100 consumer sd')
+          data.addColumn('number', 'queue 256k 1->1->1 producer')
+          data.addColumn('number', 'queue 256k 1->1->1 consumer')
+          data.addColumn('number', 'queue 256k 10->10->10 producer')
+          data.addColumn('number', 'queue 256k 10->10->10 producer sd')
+          data.addColumn('number', 'queue 256k 10->10->10 consumer')
+          data.addColumn('number', 'queue 256k 10->10->10 consumer sd')
+          data.addColumn('number', 'queue 256k 50->50->50 producer')
+          data.addColumn('number', 'queue 256k 50->50->50 producer sd')
+          data.addColumn('number', 'queue 256k 50->50->50 consumer')
+          data.addColumn('number', 'queue 256k 50->50->50 consumer sd')
+          data.addColumn('number', 'queue 256k 100->100->100 producer')
+          data.addColumn('number', 'queue 256k 100->100->100 producer sd')
+          data.addColumn('number', 'queue 256k 100->100->100 consumer')
+          data.addColumn('number', 'queue 256k 100->100->100 consumer sd')
+          data.addColumn('number', 'queue 256k 100->1->1 producer')
+          data.addColumn('number', 'queue 256k 100->1->1 producer sd')
+          data.addColumn('number', 'queue 256k 100->1->1 consumer')
+          data.addColumn('number', 'queue 256k 1->1->100 producer')
+          data.addColumn('number', 'queue 256k 1->1->100 consumer')
+          data.addColumn('number', 'queue 256k 1->1->100 consumer sd')
+          data.addColumn('number', 'queue 256k 100->1->100 producer')
+          data.addColumn('number', 'queue 256k 100->1->100 producer sd')
+          data.addColumn('number', 'queue 256k 100->1->100 consumer')
+          data.addColumn('number', 'queue 256k 100->1->100 consumer sd')
+          data.addColumn('number', 'topic 20b 1->1->0 producer')
+          data.addColumn('number', 'topic 20b 1->1->1 producer')
+          data.addColumn('number', 'topic 20b 1->1->1 consumer')
+          data.addColumn('number', 'topic 20b 10->10->10 producer')
+          data.addColumn('number', 'topic 20b 10->10->10 producer sd')
+          data.addColumn('number', 'topic 20b 10->10->10 consumer')
+          data.addColumn('number', 'topic 20b 10->10->10 consumer sd')
+          data.addColumn('number', 'topic 20b 50->50->50 producer')
+          data.addColumn('number', 'topic 20b 50->50->50 producer sd')
+          data.addColumn('number', 'topic 20b 50->50->50 consumer')
+          data.addColumn('number', 'topic 20b 50->50->50 consumer sd')
+          data.addColumn('number', 'topic 20b 100->100->100 producer')
+          data.addColumn('number', 'topic 20b 100->100->100 producer sd')
+          data.addColumn('number', 'topic 20b 100->100->100 consumer')
+          data.addColumn('number', 'topic 20b 100->100->100 consumer sd')
+          data.addColumn('number', 'topic 20b 100->1->1 producer')
+          data.addColumn('number', 'topic 20b 100->1->1 producer sd')
+          data.addColumn('number', 'topic 20b 100->1->1 consumer')
+          data.addColumn('number', 'topic 20b 1->1->100 producer')
+          data.addColumn('number', 'topic 20b 1->1->100 consumer')
+          data.addColumn('number', 'topic 20b 1->1->100 consumer sd')
+          data.addColumn('number', 'topic 20b 100->1->100 producer')
+          data.addColumn('number', 'topic 20b 100->1->100 producer sd')
+          data.addColumn('number', 'topic 20b 100->1->100 consumer')
+          data.addColumn('number', 'topic 20b 100->1->100 consumer sd')
+          data.addColumn('number', 'topic 1k 1->1->0 producer')
+          data.addColumn('number', 'topic 1k 1->1->1 producer')
+          data.addColumn('number', 'topic 1k 1->1->1 consumer')
+          data.addColumn('number', 'topic 1k 10->10->10 producer')
+          data.addColumn('number', 'topic 1k 10->10->10 producer sd')
+          data.addColumn('number', 'topic 1k 10->10->10 consumer')
+          data.addColumn('number', 'topic 1k 10->10->10 consumer sd')
+          data.addColumn('number', 'topic 1k 50->50->50 producer')
+          data.addColumn('number', 'topic 1k 50->50->50 producer sd')
+          data.addColumn('number', 'topic 1k 50->50->50 consumer')
+          data.addColumn('number', 'topic 1k 50->50->50 consumer sd')
+          data.addColumn('number', 'topic 1k 100->100->100 producer')
+          data.addColumn('number', 'topic 1k 100->100->100 producer sd')
+          data.addColumn('number', 'topic 1k 100->100->100 consumer')
+          data.addColumn('number', 'topic 1k 100->100->100 consumer sd')
+          data.addColumn('number', 'topic 1k 100->1->1 producer')
+          data.addColumn('number', 'topic 1k 100->1->1 producer sd')
+          data.addColumn('number', 'topic 1k 100->1->1 consumer')
+          data.addColumn('number', 'topic 1k 1->1->100 producer')
+          data.addColumn('number', 'topic 1k 1->1->100 consumer')
+          data.addColumn('number', 'topic 1k 1->1->100 consumer sd')
+          data.addColumn('number', 'topic 1k 100->1->100 producer')
+          data.addColumn('number', 'topic 1k 100->1->100 producer sd')
+          data.addColumn('number', 'topic 1k 100->1->100 consumer')
+          data.addColumn('number', 'topic 1k 100->1->100 consumer sd')
+          data.addColumn('number', 'topic 256k 1->1->0 producer')
+          data.addColumn('number', 'topic 256k 1->1->1 producer')
+          data.addColumn('number', 'topic 256k 1->1->1 consumer')
+          data.addColumn('number', 'topic 256k 10->10->10 producer')
+          data.addColumn('number', 'topic 256k 10->10->10 producer sd')
+          data.addColumn('number', 'topic 256k 10->10->10 consumer')
+          data.addColumn('number', 'topic 256k 10->10->10 consumer sd')
+          data.addColumn('number', 'topic 256k 50->50->50 producer')
+          data.addColumn('number', 'topic 256k 50->50->50 producer sd')
+          data.addColumn('number', 'topic 256k 50->50->50 consumer')
+          data.addColumn('number', 'topic 256k 50->50->50 consumer sd')
+          data.addColumn('number', 'topic 256k 100->100->100 producer')
+          data.addColumn('number', 'topic 256k 100->100->100 producer sd')
+          data.addColumn('number', 'topic 256k 100->100->100 consumer')
+          data.addColumn('number', 'topic 256k 100->100->100 consumer sd')
+          data.addColumn('number', 'topic 256k 100->1->1 producer')
+          data.addColumn('number', 'topic 256k 100->1->1 producer sd')
+          data.addColumn('number', 'topic 256k 100->1->1 consumer')
+          data.addColumn('number', 'topic 256k 1->1->100 producer')
+          data.addColumn('number', 'topic 256k 1->1->100 consumer')
+          data.addColumn('number', 'topic 256k 1->1->100 consumer sd')
+          data.addColumn('number', 'topic 256k 100->1->100 producer')
+          data.addColumn('number', 'topic 256k 100->1->100 producer sd')
+          data.addColumn('number', 'topic 256k 100->1->100 consumer')
+          data.addColumn('number', 'topic 256k 100->1->100 consumer sd')
+        
         data_funcs = new Array(data.getNumberOfColumns());
         for( var i=0; i <  data.getNumberOfColumns(); i ++) {
           cols_index_map[data.getColumnLabel(i)] = i;

Modified: activemq/sandbox/activemq-apollo-actor/activemq-broker/src/test/scala/org/apache/activemq/apollo/broker/perf/BrokerPerfSupport.scala
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-apollo-actor/activemq-broker/src/test/scala/org/apache/activemq/apollo/broker/perf/BrokerPerfSupport.scala?rev=961140&r1=961139&r2=961140&view=diff
==============================================================================
--- activemq/sandbox/activemq-apollo-actor/activemq-broker/src/test/scala/org/apache/activemq/apollo/broker/perf/BrokerPerfSupport.scala
(original)
+++ activemq/sandbox/activemq-apollo-actor/activemq-broker/src/test/scala/org/apache/activemq/apollo/broker/perf/BrokerPerfSupport.scala
Wed Jul  7 04:09:59 2010
@@ -31,6 +31,7 @@ import collection.mutable.ListBuffer
 import java.net.URL
 import java.util.concurrent.TimeUnit
 import org.fusesource.hawtdispatch.ScalaDispatch._
+import org.apache.activemq.apollo.dto.BrokerDTO
 
 /**
  * 
@@ -183,7 +184,7 @@ abstract class BrokerPerfSupport extends
   def getBrokerWireFormat() = "multi"
   def getRemoteWireFormat(): String
 
-  def createBroker(name: String, bindURI: String, connectUri: String): Broker = {
+  def createBrokerConfig(name: String, bindURI: String, connectUri: String): BrokerDTO =
{
 
     val config = Broker.defaultConfig
     val connector = config.connectors.get(0)
@@ -193,22 +194,22 @@ abstract class BrokerPerfSupport extends
 
     val host = config.virtualHosts.get(0)
     host.purgeOnStartup = true
-
-    val broker = new Broker()
-    broker.config = config
-    broker
+    config
   }
 
   def createConnections() = {
 
     if (MULTI_BROKER) {
-      sendBroker = createBroker("SendBroker", sendBrokerBindURI, sendBrokerConnectURI)
-      rcvBroker = createBroker("RcvBroker", receiveBrokerBindURI, receiveBrokerConnectURI)
+      sendBroker = new Broker()
+      sendBroker.config = createBrokerConfig("SendBroker", sendBrokerBindURI, sendBrokerConnectURI)
+      rcvBroker = new Broker()
+      rcvBroker.config = createBrokerConfig("RcvBroker", receiveBrokerBindURI, receiveBrokerConnectURI)
       brokers += (sendBroker)
       brokers += (rcvBroker)
     } else {
-      sendBroker = createBroker("Broker", sendBrokerBindURI, sendBrokerConnectURI)
+      sendBroker = new Broker()
       rcvBroker = sendBroker
+      sendBroker.config = createBrokerConfig("Broker", sendBrokerBindURI, sendBrokerConnectURI)
       brokers += (sendBroker)
     }
 

Modified: activemq/sandbox/activemq-apollo-actor/activemq-hawtdb/src/main/scala/org/apache/activemq/broker/store/hawtdb/HawtDBClient.scala
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-apollo-actor/activemq-hawtdb/src/main/scala/org/apache/activemq/broker/store/hawtdb/HawtDBClient.scala?rev=961140&r1=961139&r2=961140&view=diff
==============================================================================
--- activemq/sandbox/activemq-apollo-actor/activemq-hawtdb/src/main/scala/org/apache/activemq/broker/store/hawtdb/HawtDBClient.scala
(original)
+++ activemq/sandbox/activemq-apollo-actor/activemq-hawtdb/src/main/scala/org/apache/activemq/broker/store/hawtdb/HawtDBClient.scala
Wed Jul  7 04:09:59 2010
@@ -190,9 +190,11 @@ class HawtDBClient(hawtDBStore: HawtDBSt
   }
 
   def stop() = {
-    // this cancels schedualed jobs...
     schedual_version.incrementAndGet
+    journal.close
     flush
+    pageFileFactory.close
+    lockFile.unlock
   }
 
   def addQueue(record: QueueRecord, callback:Runnable) = {
@@ -633,10 +635,42 @@ class HawtDBClient(hawtDBStore: HawtDBSt
 
   private def index(tx: Transaction, update: TypeCreatable, location: Location): Unit = {
 
-    object Process extends TxHelper(tx) {
-      import JavaConversions._
+    val helper = new TxHelper(tx)
+    import JavaConversions._
+    import helper._
+
+    def removeMessage(key:Long) = {
+      val location = messageKeyIndex.remove(key)
+      if (location != null) {
+        val fileId:jl.Integer = location.getDataFileId()
+        addAndGet(dataFileRefIndex, fileId, -1)
+      } else {
+        error("Cannot remove message, it did not exist: %d", key)
+      }
+    }
+
+    def removeQueue(queueKey:Long) = {
+      val queueRecord = queueIndex.remove(queueKey)
+      if (queueRecord != null) {
+        val trackingIndex = queueTrackingIndex(queueRecord)
+        val entryIndex = queueEntryIndex(queueRecord)
+
+        trackingIndex.iterator.map { entry=>
+          val messageKey = entry.getKey
+          if( addAndGet(messageRefsIndex, messageKey, -1) == 0 ) {
+            // message is no longer referenced.. we can remove it..
+            removeMessage(messageKey.longValue)
+          }
+        }
+
+        entryIndex.destroy
+        trackingIndex.destroy
+      }
+
+    }
 
-      def apply(x: AddMessage.Getter): Unit = {
+    update match {
+      case x: AddMessage.Getter =>
 
         val messageKey = x.getMessageKey()
         if (messageKey > databaseRootRecord.getLastMessageKey) {
@@ -657,54 +691,9 @@ class HawtDBClient(hawtDBStore: HawtDBSt
           val fileId:jl.Integer = location.getDataFileId()
           addAndGet(dataFileRefIndex, fileId, 1)
         }
-      }
-
-      def removeMessage(key:Long) = {
-        val location = messageKeyIndex.remove(key)
-        if (location != null) {
-          val fileId:jl.Integer = location.getDataFileId()
-          addAndGet(dataFileRefIndex, fileId, -1)
-        } else {
-          error("Cannot remove message, it did not exist: %d", key)
-        }
-      }
-
-      def apply(x: AddQueue.Getter): Unit = {
-        val queueKey = x.getKey
-        if (queueIndex.get(queueKey) == null) {
-
-          if (queueKey > databaseRootRecord.getLastQueueKey) {
-            databaseRootRecord.setLastQueueKey(queueKey)
-          }
-
-          val queueRecord = new QueueRootRecord.Bean
-          queueRecord.setEntryIndexPage(alloc(QUEUE_ENTRY_INDEX_FACTORY))
-          queueRecord.setTrackingIndexPage(alloc(QUEUE_TRACKING_INDEX_FACTORY))
-          queueRecord.setInfo(x)
-          queueIndex.put(queueKey, queueRecord.freeze)
-        }
-      }
-
-      def apply(x: RemoveQueue.Getter): Unit = {
-        val queueRecord = queueIndex.remove(x.getKey)
-        if (queueRecord != null) {
-          val trackingIndex = queueTrackingIndex(queueRecord)
-          val entryIndex = queueEntryIndex(queueRecord)
-
-          trackingIndex.iterator.map { entry=>
-            val messageKey = entry.getKey
-            if( addAndGet(messageRefsIndex, messageKey, -1) == 0 ) {
-              // message is no longer referenced.. we can remove it..
-              removeMessage(messageKey.longValue)
-            }
-          }
 
-          entryIndex.destroy
-          trackingIndex.destroy
-        }
-      }
+      case x: AddQueueEntry.Getter =>
 
-      def apply(x: AddQueueEntry.Getter): Unit = {
         val queueKey = x.getQueueKey
         val queueRecord = queueIndex.get(queueKey)
         if (queueRecord != null) {
@@ -737,9 +726,8 @@ class HawtDBClient(hawtDBStore: HawtDBSt
         } else {
           error("Queue not found: %d", x.getQueueKey)
         }
-      }
 
-      def apply(x: RemoveQueueEntry.Getter): Unit = {
+      case x: RemoveQueueEntry.Getter =>
         val queueKey = x.getQueueKey
         val queueRecord = queueIndex.get(queueKey)
         if (queueRecord != null) {
@@ -764,17 +752,34 @@ class HawtDBClient(hawtDBStore: HawtDBSt
         } else {
           error("Queue not found: %d", x.getQueueKey)
         }
-      }
 
-      def apply(x: Purge.Getter): Unit = {
+      case x: AddQueue.Getter =>
+        val queueKey = x.getKey
+        if (queueIndex.get(queueKey) == null) {
+
+          if (queueKey > databaseRootRecord.getLastQueueKey) {
+            databaseRootRecord.setLastQueueKey(queueKey)
+          }
+
+          val queueRecord = new QueueRootRecord.Bean
+          queueRecord.setEntryIndexPage(alloc(QUEUE_ENTRY_INDEX_FACTORY))
+          queueRecord.setTrackingIndexPage(alloc(QUEUE_TRACKING_INDEX_FACTORY))
+          queueRecord.setInfo(x)
+          queueIndex.put(queueKey, queueRecord.freeze)
+        }
+
+      case x: RemoveQueue.Getter =>
+        removeQueue(x.getKey)
+
+      case x: AddTrace.Getter =>
+        // trace messages are informational messages in the journal used to log
+        // historical info about store state.  They don't update the indexes.
 
+      case x: Purge.Getter =>
         // Remove all the queues...
-        queueIndex.iterator.map {
-          entry =>
-            entry.getKey
-        }.foreach {
-          key =>
-            apply(new RemoveQueue.Bean().setKey(key.intValue))
+        val queueKeys = queueIndex.iterator.map( _.getKey ).toList
+        queueKeys.foreach { key =>
+          removeQueue(key.longValue)
         }
 
         // Remove stored messages...
@@ -785,31 +790,6 @@ class HawtDBClient(hawtDBStore: HawtDBSt
 
         cleanup(tx);
         info("Store purged.");
-      }
-
-      def apply(x: AddTrace.Getter): Unit = {
-        // trace messages are informational messages in the journal used to log
-        // historical info about store state.  They don't update the indexes.
-      }
-    }
-
-    update match {
-      case x: AddMessage.Getter =>
-        Process(x)
-      case x: AddQueueEntry.Getter =>
-        Process(x)
-      case x: RemoveQueueEntry.Getter =>
-        Process(x)
-
-      case x: AddQueue.Getter =>
-        Process(x)
-      case x: RemoveQueue.Getter =>
-        Process(x)
-
-      case x: AddTrace.Getter =>
-        Process(x)
-      case x: Purge.Getter =>
-        Process(x)
 
       case x: AddSubscription.Getter =>
       case x: RemoveSubscription.Getter =>

Modified: activemq/sandbox/activemq-apollo-actor/activemq-stomp/src/test/scala/org/apache/activemq/apollo/stomp/perf/StompBrokerPerfTest.scala
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-apollo-actor/activemq-stomp/src/test/scala/org/apache/activemq/apollo/stomp/perf/StompBrokerPerfTest.scala?rev=961140&r1=961139&r2=961140&view=diff
==============================================================================
--- activemq/sandbox/activemq-apollo-actor/activemq-stomp/src/test/scala/org/apache/activemq/apollo/stomp/perf/StompBrokerPerfTest.scala
(original)
+++ activemq/sandbox/activemq-apollo-actor/activemq-stomp/src/test/scala/org/apache/activemq/apollo/stomp/perf/StompBrokerPerfTest.scala
Wed Jul  7 04:09:59 2010
@@ -28,6 +28,8 @@ import AsciiBuffer._
 import Stomp._
 import _root_.org.apache.activemq.apollo.stomp.StompFrame
 import _root_.org.fusesource.hawtdispatch.ScalaDispatch._
+import java.io.File
+import org.apache.activemq.apollo.dto.{BrokerDTO, HawtDBStoreDTO}
 
 
 class StompBrokerPerfTest extends BaseBrokerPerfSupport {
@@ -50,6 +52,29 @@ class StompPersistentBrokerPerfTest exte
 
 }
 
+class StompHawtDBPersistentBrokerPerfTest extends BasePersistentBrokerPerfSupport {
+
+  println(getClass.getClassLoader.getResource("log4j.properties"))
+
+  override def createProducer() = new StompRemoteProducer()
+
+  override def createConsumer() = new StompRemoteConsumer()
+
+  override def getRemoteWireFormat() = "stomp"
+
+  override def createBrokerConfig(name: String, bindURI: String, connectUri: String): BrokerDTO
= {
+    val rc = super.createBrokerConfig(name, bindURI, connectUri)
+
+    val store = new HawtDBStoreDTO
+    store.directory = new File(new File(testDataDir, getClass.getName), name)
+
+    rc.virtualHosts.get(0).store = store
+    rc
+  }
+
+
+}
+
 
 class StompRemoteConsumer extends RemoteConsumer {
   var outboundSink: OverflowSink[StompFrame] = null

Modified: activemq/sandbox/activemq-apollo-actor/activemq-util/src/test/resources/log4j.properties
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-apollo-actor/activemq-util/src/test/resources/log4j.properties?rev=961140&r1=961139&r2=961140&view=diff
==============================================================================
--- activemq/sandbox/activemq-apollo-actor/activemq-util/src/test/resources/log4j.properties
(original)
+++ activemq/sandbox/activemq-apollo-actor/activemq-util/src/test/resources/log4j.properties
Wed Jul  7 04:09:59 2010
@@ -19,13 +19,14 @@
 # The logging properties used during tests..
 #
 log4j.rootLogger=WARN, console, file
-log4j.logger.org.apache.activemq=TRACE
+log4j.logger.org.apache.activemq=INFO
+log4j.logger.org.fusesource.hawtdb=TRACE
 
 # Console will only display warnnings
 log4j.appender.console=org.apache.log4j.ConsoleAppender
 log4j.appender.console.layout=org.apache.log4j.PatternLayout
 log4j.appender.console.layout.ConversionPattern=%-5p | %t | %m%n
-log4j.appender.console.threshold=TRACE
+log4j.appender.console.threshold=INFO
 
 # File appender will contain all info messages
 log4j.appender.file=org.apache.log4j.FileAppender

Modified: activemq/sandbox/activemq-apollo-actor/activemq-util/src/test/scala/org/apache/activemq/apollo/broker/FunSuiteSupport.scala
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-apollo-actor/activemq-util/src/test/scala/org/apache/activemq/apollo/broker/FunSuiteSupport.scala?rev=961140&r1=961139&r2=961140&view=diff
==============================================================================
--- activemq/sandbox/activemq-apollo-actor/activemq-util/src/test/scala/org/apache/activemq/apollo/broker/FunSuiteSupport.scala
(original)
+++ activemq/sandbox/activemq-apollo-actor/activemq-util/src/test/scala/org/apache/activemq/apollo/broker/FunSuiteSupport.scala
Wed Jul  7 04:09:59 2010
@@ -23,6 +23,12 @@ abstract class FunSuiteSupport extends F
     new File(_basedir)
   }
 
+  /**
+   * Returns ${basedir}/target/test-data
+   */
+  def testDataDir = {
+    new File(new File(_basedir, "target"), "test-data")
+  }
 
   override protected def beforeAll(map: Map[String, Any]): Unit = {
     _basedir = map.get("basedir") match {



Mime
View raw message