summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Ritchie <ritchiem@apache.org>2007-01-30 12:16:06 +0000
committerMartin Ritchie <ritchiem@apache.org>2007-01-30 12:16:06 +0000
commitd3a927b590337784406cbc21ce5f98408f35639b (patch)
tree3c3cc4a1b7a2459776a316553d11936145b58521
parentc40db7422044b2988e0e3730b89ffd00bf079ab5 (diff)
downloadqpid-python-d3a927b590337784406cbc21ce5f98408f35639b.tar.gz
Updated tests maintaining locally rather than on trunk.
Patched AMQQueueMBeanTest to stop calculation of queue kb size. Full fix in r501003. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/perftesting@501386 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/java/AppliedPatches.txt2
-rw-r--r--qpid/java/broker/etc/log4j.xml11
-rw-r--r--qpid/java/broker/etc/qpid-server.conf2
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueMBean.java28
-rw-r--r--qpid/java/distribution/pom.xml4
-rw-r--r--qpid/java/perftests/pom.xml293
-rw-r--r--qpid/java/perftests/src/test/java/org/apache/qpid/ping/PingAsyncTestPerf.java524
-rw-r--r--qpid/java/pom.xml14
8 files changed, 470 insertions, 408 deletions
diff --git a/qpid/java/AppliedPatches.txt b/qpid/java/AppliedPatches.txt
index b32c9cd452..448f29ab76 100644
--- a/qpid/java/AppliedPatches.txt
+++ b/qpid/java/AppliedPatches.txt
@@ -169,7 +169,7 @@ Revision: 490505
Revision: 490373
Revision: 489804
Revision: 489754
-Revision: 489748
+489748 QPID 229 Alter implementation of FieldTable to encapsualte each type in its own enum instance
Revision: 489715
Revision: 489704
Revision: 489691
diff --git a/qpid/java/broker/etc/log4j.xml b/qpid/java/broker/etc/log4j.xml
index 9be428fbbd..a14ac8459b 100644
--- a/qpid/java/broker/etc/log4j.xml
+++ b/qpid/java/broker/etc/log4j.xml
@@ -37,10 +37,15 @@
</layout>
</appender>
- <!--<category name="org.apache.qpid.server.store">
- <priority value="debug"/>
- </category>-->
+ <category name="org.apache.qpid.server.Main">
+ <priority value="info"/>
+ </category>
+
+ <category name="org.apache.qpid">
+ <priority value="warn"/>
+ </category>
+
<root>
<priority value="info"/>
<appender-ref ref="STDOUT"/>
diff --git a/qpid/java/broker/etc/qpid-server.conf b/qpid/java/broker/etc/qpid-server.conf
index c310094817..6d31db7fa9 100644
--- a/qpid/java/broker/etc/qpid-server.conf
+++ b/qpid/java/broker/etc/qpid-server.conf
@@ -21,5 +21,5 @@ QPID_LIBS=$QPID_HOME/lib/qpid-incubating.jar:$QPID_HOME/lib/bdbstore-launch.jar
export JAVA=java \
JAVA_VM=-server \
- JAVA_MEM=-Xmx1024m \
+ JAVA_MEM="-Xmx3160m -Xms512m "\
CLASSPATH=$QPID_LIBS
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueMBean.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueMBean.java
index 01678c357a..a914975e00 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueMBean.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueMBean.java
@@ -179,18 +179,22 @@ public class AMQQueueMBean extends AMQManagedObject implements ManagedQueue
*/
public Long getQueueDepth()
{
- List<AMQMessage> list = _queue.getMessagesOnTheQueue();
- if (list.size() == 0)
- {
- return 0l;
- }
-
- long queueDepth = 0;
- for (AMQMessage message : list)
- {
- queueDepth = queueDepth + getMessageSize(message);
- }
- return (long) Math.round(queueDepth / 1000);
+// List<AMQMessage> list = _queue.getMessagesOnTheQueue();
+// if (list.size() == 0)
+// {
+// return 0l;
+// }
+//
+// long queueDepth = 0;
+// for (AMQMessage message : list)
+// {
+// queueDepth = queueDepth + getMessageSize(message);
+// }
+// return (long) Math.round(queueDepth / 1000);
+
+ //fixme delegate to DeliveryManger
+ //return _queue.getTotalSize();
+ return 0L;
}
/**
diff --git a/qpid/java/distribution/pom.xml b/qpid/java/distribution/pom.xml
index 366b478687..573d372d87 100644
--- a/qpid/java/distribution/pom.xml
+++ b/qpid/java/distribution/pom.xml
@@ -124,7 +124,7 @@
<descriptor>src/main/assembly/management-eclipse-plugin.xml</descriptor>
<descriptor>src/main/assembly/management-eclipse-plugin-unix.xml</descriptor>
</descriptors>
- <finalName>qpid-${pom.version}</finalName>
+ <finalName>qpid-${pom.version}-r500219</finalName>
</configuration>
</execution>
</executions>
@@ -190,7 +190,7 @@
<descriptors>
<descriptor>src/main/assembly/bin-test.xml</descriptor>
</descriptors>
- <finalName>qpid-${pom.version}</finalName>
+ <finalName>qpid-${pom.version}-r500219</finalName>
</configuration>
</execution>
</executions>
diff --git a/qpid/java/perftests/pom.xml b/qpid/java/perftests/pom.xml
index 91bbd26fe0..5ca9d36d91 100644
--- a/qpid/java/perftests/pom.xml
+++ b/qpid/java/perftests/pom.xml
@@ -124,148 +124,199 @@
These scripts can find everything in the 'all test dependencies' jar created by the assembly:assembly goal.
-->
- <!--
+
<plugin>
<groupId>uk.co.thebadgerset</groupId>
- <artifactId>junit-toolkit-maven-plugin</artifactId>
- <version>0.3</version>
+ <artifactId>junit-toolkit-maven-plugin</artifactId>
<configuration>
- <scriptOutDirectory>target</scriptOutDirectory>
- <testJar>${project.build.finalName}-all-test-deps.jar</testJar>
-
- <systemproperties>
- <property>
- <name>log4j.configuration</name>
- <value>${log4j.perftests}</value>
- </property>
- <property>
- <name>amqj.logging.level</name>
- <value>warn</value>
- </property>
- <property>
- <name>badger.level</name>
- <value>warn</value>
- </property>
- <property>
- <name>amqj.test.logging.level</name>
- <value>info</value>
- </property>
- </systemproperties>
-
- <commands>
- <!## Run the ping pong test once. This is just to check toolkit test runner is working. Real tests follow. ##>
- <PingOnce>-n PingOnce -s [1] -r 1 -t testPingOk -o . org.apache.qpid.ping.PingTestPerf</PingOnce>
-
- <!## Tests the accuracy of the throttle implementation at different speeds. Throttle is used to restrict message rate in some tsts. ##>
+ <scriptOutDirectory>target</scriptOutDirectory>
+ <testJar>${project.build.finalName}-all-test-deps.jar</testJar>
+
+ <systemproperties>
+ <property>
+ <name>log4j.configuration</name>
+ <value>${log4j.perftests}</value>
+ </property>
+ <property>
+ <name>amqj.logging.level</name>
+ <value>warn</value>
+ </property>
+ <property>
+ <name>badger.level</name>
+ <value>warn</value>
+ </property>
+ <property>
+ <name>amqj.test.logging.level</name>
+ <value>info</value>
+ </property>
+ <property>
+ <name>logdir</name>
+ <value>$QPID_WORK/results</value>
+ </property>
+ <property>
+ <name>-Xms</name>
+ <value>256m</value>
+ </property>
+ <property>
+ <name>-Xmx</name>
+ <value>512m</value>
+ </property>
+ </systemproperties>
+
+ <commands>
+ <!-- Run the ping pong test once. This is just to check toolkit test runner is working. Real tests follow. -->
+ <PingOnce>-n PingOnce -s [1] -r 1 -t testPingOk -o . org.apache.qpid.ping.PingTestPerf</PingOnce>
+
+ <!-- Tests the accuracy of the throttle implementation at different speeds. Throttle is used to restrict message rate in some tsts. -->
<ThrottleTest>-n ThrottleTest -r 5 -s [10,10000],samples=100,exp -t testThrottle -o . org.apache.qpid.ping.ThrottleTestPerf</ThrottleTest>
- <!##
+ <!--
Skim Tests.
These are not part of the performance suite. They run quick tests to check that the different combinations of
options that the performance suite uses are going to work.
- ##>
+ -->
<Skim-Tx>-n Skim-Tx -s [1000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf transacted=true</Skim-Tx>
- <Skim-Size>-n Skim-Size -s [1000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf messageSize=51200</Skim-Size>
+ <Skim-Size>-n Skim-Size -s [1000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf messagesize=51200</Skim-Size>
<Skim-Many>-n Skim-Many -s [1] -c [4] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf</Skim-Many>
<Skim-Queues>-n Skim-Queues -s [1000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf destinationcount=10</Skim-Queues>
<Skim-Duration>-n Skim-Duration -s [1000] -d10S -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf</Skim-Duration>
<Skim-Rate>-n Skim-Rate -s [1000] -d10S -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf rate=100</Skim-Rate>
- <!## P2P Volume Tests. ##>
- <VT-Qpid-1>-n VT-Qpid-1 -s [15000000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true BatchSize=10000 CommitBatchSize=20000 transacted=true</VT-Qpid-1>
+ <!-- P2P Volume Tests. -->
+ <VT-Qpid-1>-n VT-Qpid-1 -s [15000000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true BatchSize=10000 transacted=true</VT-Qpid-1>
<VT-Qpid-2>-n VT-Qpid-2 -s [15000000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true BatchSize=10000</VT-Qpid-2>
- <VT-Qpid-3>-n VT-Qpid-3 -s [1000000] -d 24H -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true CommitBatchSize=20000 rate=10000 transacted=true</VT-Qpid-3>
- <VT-Qpid-4>-n VT-Qpid-4 -s [1000000] -d 24H -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true </VT-Qpid-4>
+ <!-- Setting sample to 3,000,000 will result in a log entry every 10 minutes so should have 144 data points for the run. -->
+ <VT-Qpid-3>-n VT-Qpid-3 -s [3000000] -d 24H -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true rate=10000 BatchSize=3000000 transacted=true</VT-Qpid-3>
+ <VT-Qpid-4>-n VT-Qpid-4 -s [3000000] -d 24H -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true rate=10000 BatchSize=3000000</VT-Qpid-4>
- <!## P2P Scalability Tests. ##>
- <PT-Qpid-1>-n PT-Qpid-1 -s [250000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true CommitBatchSize=20000 transacted=true</PT-Qpid-1>
+ <!-- P2P Scalability Tests. -->
+ <!-- 250,000 Total, 1P-1T-1C -->
+ <PT-Qpid-1>-n PT-Qpid-1 -s [250000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true transacted=true</PT-Qpid-1>
<PT-Qpid-2>-n PT-Qpid-2 -s [250000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true </PT-Qpid-2>
- <PT-Qpid-3>-n PT-Qpid-3 -s [250000] -c[10] -o .-t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true CommitBatchSize=20000 transacted=true destinationname=ping</PT-Qpid-3>
- <PT-Qpid-4>-n PT-Qpid-4 -s [250000] -c[10] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true destinationname=ping</PT-Qpid-4>
- <PT-Qpid-5>-n PT-Qpid-5 -s [250000] -c[10] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true transacted=true</PT-Qpid-5>
- <PT-Qpid-6>-n PT-Qpid-6 -s [250000] -c[10] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true</PT-Qpid-6>
- <PT-Qpid-7>-n PT-Qpid-7 -s [250000] -c[10] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true transacted=true destinationcount=10</PT-Qpid-7>
- <PT-Qpid-8>-n PT-Qpid-8 -s [250000] -c[10] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true destinationcount=10</PT-Qpid-8>
- <PT-Qpid-9>-n PT-Qpid-9 -s [250000] -c[100] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true transacted=true</PT-Qpid-9>
- <PT-Qpid-10>-n PT-Qpid-10 -s [250000] -c[100] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true</PT-Qpid-10>
- <PT-Qpid-11>-n PT-Qpid-11 -s [250000] -c[100] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true transacted=true destinationcount=10</PT-Qpid-11>
- <PT-Qpid-12>-n PT-Qpid-12 -s [250000] -c[100] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true destinationcount=10</PT-Qpid-12>
- <PT-Qpid-13>-n PT-Qpid-13 -s [250000] -c[1000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true transacted=true</PT-Qpid-13>
- <PT-Qpid-14>-n PT-Qpid-14 -s [250000] -c[1000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true</PT-Qpid-14>
-
- <!## P2P Volume Tests. ##>
- <VQ-Qpid-1>-n VQ-Qpid-1 -s [900000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf transacted=true</VQ-Qpid-1>
- <VQ-Qpid-2>-n VQ-Qpid-2 -s [900000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf</VQ-Qpid-2>
- <VQ-Qpid-3>-n VQ-Qpid-3 -s [10000] -d 24H -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf rate=10000 transacted=true</VQ-Qpid-3>
- <VQ-Qpid-4>-n VQ-Qpid-4 -s [10000] -d 24H -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf rate=10000</VQ-Qpid-4>
-
- <!## P2P Scalability Tests. ##>
+
+ <!-- 25000 Msgs * 10 Brokers = 250,000 Total, 10P-1Q-10C -->
+ <PT-Qpid-3>-n PT-Qpid-3 -s [25000] -c[10] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true transacted=true</PT-Qpid-3>
+ <PT-Qpid-4>-n PT-Qpid-4 -s [25000] -c[10] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true </PT-Qpid-4>
+
+ <!-- 25000 Msgs * 10 Brokers = 250,000 Tota,l 10P-10T-10C 10*(1P-1Q-1C) -->
+ <PT-Qpid-5>-n PT-Qpid-5 -s [25000] -c[10] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true destinationcount=1 transacted=true</PT-Qpid-5>
+ <PT-Qpid-6>-n PT-Qpid-6 -s [25000] -c[10] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true destinationcount=1</PT-Qpid-6>
+
+ <!-- 2500 Msgs * 10 Brokers * 10 Topics/Clients = 250,000 Total, 10P-100T-10C 10*(1P-10T-1C) -->
+ <PT-Qpid-7>-n PT-Qpid-7 -s [2500] -c[10] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true destinationcount=10 transacted=true</PT-Qpid-7>
+ <PT-Qpid-8>-n PT-Qpid-8 -s [2500] -c[10] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true destinationcount=10</PT-Qpid-8>
+
+ <!-- 2500 Msgs * 100 Brokers = 250,000 Total, 100P-100T-100C 100*(1P-1T-1C) -->
+ <PT-Qpid-9>-n PT-Qpid-9 -s [2500] -c[100] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true BatchSize=250 destinationcount=1 transacted=true CommitBatchSize=500</PT-Qpid-9>
+ <PT-Qpid-10>-n PT-Qpid-10 -s [2500] -c[100] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true BatchSize=250 destinationcount=1</PT-Qpid-10>
+
+ <!-- 250 Msgs * 100 Brokers * 10 Clients = 250,000 Total, 100P-1000T-100C 100*(1P-10T-1C) -->
+ <PT-Qpid-11>-n PT-Qpid-11 -s [250] -c[100] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true BatchSize=250 destinationcount=10 transacted=true CommitBatchSize=50</PT-Qpid-11>
+ <PT-Qpid-12>-n PT-Qpid-12 -s [250] -c[100] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true BatchSize=250 destinationcount=10</PT-Qpid-12>
+
+ <!-- 250 Msgs * 1000 Brokers = 250,000 Total, 1000P-1000T-1000C 1000*(1P-1T-1C) -->
+ <PT-Qpid-13>-n PT-Qpid-13 -s [250] -c[1000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true BatchSize=250 destinationcount=1 transacted=true CommitBatchSize=50</PT-Qpid-13>
+ <PT-Qpid-14>-n PT-Qpid-14 -s [250] -c[1000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true BatchSize=250 destinationcount=1</PT-Qpid-14>
+
+ <!-- P2P Volume Tests. -->
+ <VQ-Qpid-1>-n VQ-Qpid-1 -s [900000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf BatchSize=10000 transacted=true</VQ-Qpid-1>
+ <VQ-Qpid-2>-n VQ-Qpid-2 -s [900000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf BatchSize=10000</VQ-Qpid-2>
+ <!-- Setting sample to 3,000,000 will result in a log entry every 10 minutes so should have 144 data points for the run. -->
+ <VQ-Qpid-3>-n VQ-Qpid-3 -s [3000000] -d 24H -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf rate=10000 BatchSize=3000000 transacted=true</VQ-Qpid-3>
+ <VQ-Qpid-4>-n VQ-Qpid-4 -s [3000000] -d 24H -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf rate=10000 BatchSize=3000000 </VQ-Qpid-4>
+
+ <!-- P2P Scalability Tests. -->
+ <!-- 15,000 Total, 1P-1Q-1C -->
<PQ-Qpid-1>-n PQ-Qpid-1 -s [15000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf transacted=true</PQ-Qpid-1>
<PQ-Qpid-2>-n PQ-Qpid-2 -s [15000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf</PQ-Qpid-2>
- <PQ-Qpid-3>-n PQ-Qpid-3 -s [15000] -c[10] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf transacted=true destinationname=ping</PQ-Qpid-3>
- <PQ-Qpid-4>-n PQ-Qpid-4 -s [15000] -c[10] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf destinationname=ping</PQ-Qpid-4>
- <PQ-Qpid-5>-n PQ-Qpid-5 -s [15000] -c[10] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf transacted=true</PQ-Qpid-5>
- <PQ-Qpid-6>-n PQ-Qpid-6 -s [15000] -c[10] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf</PQ-Qpid-6>
- <PQ-Qpid-7>-n PQ-Qpid-7 -s [15000] -c[10] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf transacted=true destinationcount=10</PQ-Qpid-7>
- <PQ-Qpid-8>-n PQ-Qpid-8 -s [15000] -c[10] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf destinationcount=10</PQ-Qpid-8>
- <PQ-Qpid-9>-n PQ-Qpid-9 -s [15000] -c[100] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf transacted=true</PQ-Qpid-9>
- <PQ-Qpid-10>-n PQ-Qpid-10 -s [15000] -c[100] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf</PQ-Qpid-10>
- <PQ-Qpid-11>-n PQ-Qpid-11 -s [15000] -c[100] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf transacted=true destinationcount=10</PQ-Qpid-11>
- <PQ-Qpid-12>-n PQ-Qpid-12 -s [15000] -c[100] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf destinationcount=10</PQ-Qpid-12>
- <PQ-Qpid-13>-n PQ-Qpid-13 -s [15000] -c[1000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf transacted=true</PQ-Qpid-13>
- <PQ-Qpid-14>-n PQ-Qpid-14 -s [15000] -c[1000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf</PQ-Qpid-14>
-
- <!## Increasing Message Payload Tests. ##>
- <LT-Qpid-1-512b>-n LT-Qpid-1-512b -s [1000000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true messageSize=512 transacted=true</LT-Qpid-1-512b>
- <LT-Qpid-2-512b>-n LT-Qpid-2-512b -s [1000000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true messageSize=512</LT-Qpid-2-512b>
- <LT-Qpid-1-1K>-n LT-Qpid-1-1K -s [1000000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true transacted=true</LT-Qpid-1-1K>
- <LT-Qpid-2-1K>-n LT-Qpid-2-1K -s [1000000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true</LT-Qpid-2-1K>
- <LT-Qpid-1-5K>-n LT-Qpid-1-5K -s [1000000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true messageSize=5120 transacted=true</LT-Qpid-1-5K>
- <LT-Qpid-2-5K>-n LT-Qpid-2-5K -s [1000000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true messageSize=5120</LT-Qpid-2-5K>
- <LT-Qpid-1-10K>-n LT-Qpid-1-10K -s [1000000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true messageSize=10240 transacted=true</LT-Qpid-1-10K>
- <LT-Qpid-2-10K>-n LT-Qpid-2-10K -s [1000000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true messageSize=10240</LT-Qpid-2-10K>
- <LT-Qpid-1-50K>-n LT-Qpid-1-50K -s [1000000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true messageSize=51200 transacted=true</LT-Qpid-1-50K>
- <LT-Qpid-2-50K>-n LT-Qpid-2-50K -s [1000000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true messageSize=51200</LT-Qpid-2-50K>
- <LT-Qpid-1-1M>-n LT-Qpid-1-1M -s [1000000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true messageSize=1048576 transacted=true</LT-Qpid-1-1M>
- <LT-Qpid-2-1M>-n LT-Qpid-2-1M -s [1000000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true messageSize=1048476</LT-Qpid-2-1M>
-
-
- <LT-Qpid-3-512b>-n LT-Qpid-3-512b -s [900000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf messageSize=512 transacted=true</LT-Qpid-3-512b>
- <LT-Qpid-4-512b>-n LT-Qpid-4-512b -s [900000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf messageSize=512</LT-Qpid-4-512b>
- <LT-Qpid-3-1K>-n LT-Qpid-3-1K -s [900000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf transacted=true</LT-Qpid-3-1K>
- <LT-Qpid-4-1K>-n LT-Qpid-4-1K -s [900000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf </LT-Qpid-4-1K>
- <LT-Qpid-3-5K>-n LT-Qpid-3-5K -s [900000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf messageSize=5120 transacted=true</LT-Qpid-3-5K>
- <LT-Qpid-4-5K>-n LT-Qpid-4-5K -s [900000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf messageSize=5120</LT-Qpid-4-5K>
- <LT-Qpid-3-10K>-n LT-Qpid-3-10K -s [900000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf messageSize=10240 transacted=true</LT-Qpid-3-10K>
- <LT-Qpid-4-10K>-n LT-Qpid-4-10K -s [900000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf messageSize=10240</LT-Qpid-4-10K>
- <LT-Qpid-3-50K>-n LT-Qpid-3-50K -s [900000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf messageSize=51200 transacted=true</LT-Qpid-3-50K>
- <LT-Qpid-4-50K>-n LT-Qpid-4-50K -s [900000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf messageSize=51200</LT-Qpid-4-50K>
- <LT-Qpid-3-1M>-n LT-Qpid-3-1M -s [900000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf messageSize=1048576 transacted=true</LT-Qpid-3-1M>
- <LT-Qpid-4-1M>-n LT-Qpid-4-1M -s [900000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf messageSize=1048576</LT-Qpid-4-1M>
-
- <!## Failover Tests. ##>
- <FT-Qpid-1>-n FT-Qpid-1 -s [250000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf CommitBatchSize=125000 broker="tcp://localhost:5001;tcp://localhost:5002" transacted=true FailBeforeSend=true</FT-Qpid-1>
- <FT-Qpid-2>-n FT-Qpid-2 -s [250000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf CommitBatchSize=125000 broker="tcp://localhost:5001;tcp://localhost:5002" transacted=true FailAfterSend=true</FT-Qpid-2>
- <FT-Qpid-3>-n FT-Qpid-3 -s [250000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf CommitBatchSize=125000 broker="tcp://localhost:5001;tcp://localhost:5002" transacted=true FailAfterCommit=true</FT-Qpid-3>
-
- <FT-Qpid-4>-n FT-Qpid-4 -s [250000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf broker="tcp://localhost:5001;tcp://localhost:5002" transacted=false FailBeforeSend=true</FT-Qpid-4>
- <FT-Qpid-5>-n FT-Qpid-5 -s [250000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf broker="tcp://localhost:5001;tcp://localhost:5002" transacted=false FailAfterSend=true</FT-Qpid-5>
-
-
- </commands>
- </configuration>
- <executions>
- <execution>
- <phase>test</phase>
- <!##<goals>
- <goal>tktest</goal>
- </goals>##>
- </execution>
- </executions>
- </plugin>
- -->
+ <!-- 1500 Messages * 10 Brokers = 15,000 Total, 10P-1Q-10C -->
+ <PQ-Qpid-3>-n PQ-Qpid-3 -s [1500] -c[10] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf BatchSize=100 destinationname=ping transacted=true CommitBatchSize=500</PQ-Qpid-3>
+ <PQ-Qpid-4>-n PQ-Qpid-4 -s [1500] -c[10] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf BatchSize=100 destinationname=ping</PQ-Qpid-4>
+
+ <!-- 1500 Messages * 10 Brokers = 15,000 Total, 10P-10Q-10C 10*(1P-1Q-1C) -->
+ <PQ-Qpid-5>-n PQ-Qpid-5 -s [1500] -c[10] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf BatchSize=100 destinationcount=1 transacted=true CommitBatchSize=500</PQ-Qpid-5>
+ <PQ-Qpid-6>-n PQ-Qpid-6 -s [1500] -c[10] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf BatchSize=100 destinationcount=1</PQ-Qpid-6>
+
+ <!-- 1500 Messages * 10 Brokers = 15,000 Total, 10P-100Q-10C 10*(1P-10Q-1C) -->
+ <PQ-Qpid-7>-n PQ-Qpid-7 -s [1500] -c[10] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf BatchSize=100 destinationcount=10 transacted=true CommitBatchSize=500</PQ-Qpid-7>
+ <PQ-Qpid-8>-n PQ-Qpid-8 -s [1500] -c[10] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf BatchSize=100 destinationcount=10</PQ-Qpid-8>
+
+ <!-- 150 Messages * 100 Brokers = 15,000 Total, 100P-100Q-100C 100*(1P-1Q-1C) -->
+ <PQ-Qpid-9>-n PQ-Qpid-9 -s [150] -c[100] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf BatchSize=50 destinationcount=1 transacted=true CommitBatchSize=50</PQ-Qpid-9>
+ <PQ-Qpid-10>-n PQ-Qpid-10 -s [150] -c[100] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf BatchSize=50 destinationcount=1 </PQ-Qpid-10>
+
+ <!-- 150 Messages * 100 Brokers = 15,000 Total, 100P-1000Q-100C 100*(1P-10Q-1C) -->
+ <PQ-Qpid-11>-n PQ-Qpid-11 -s [150] -c[100] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf BatchSize=100 destinationcount=10 transacted=true CommitBatchSize=50</PQ-Qpid-11>
+ <PQ-Qpid-12>-n PQ-Qpid-12 -s [150] -c[100] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf BatchSize=100 destinationcount=10</PQ-Qpid-12>
+
+ <!-- 15 Messages * 1000 Brokers = 15,000 Total, 1000P-1000Q-1000C 1000*(1P-1Q-1C) -->
+ <PQ-Qpid-13>-n PQ-Qpid-13 -s [15] -c[1000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf BatchSize=15 transacted=true CommitBatchSize=15</PQ-Qpid-13>
+ <PQ-Qpid-14>-n PQ-Qpid-14 -s [15] -c[1000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf BatchSize=15 </PQ-Qpid-14>
+
+ <!-- Increasing Message Payload Tests. -->
+ <!-- Queue Testing -->
+ <LT-Qpid-1-512b>-n LT-Qpid-1-512b -s [1000000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true BatchSize=10000 messagesize=512 transacted=true</LT-Qpid-1-512b>
+ <LT-Qpid-2-512b>-n LT-Qpid-2-512b -s [1000000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true BatchSize=10000 messagesize=512</LT-Qpid-2-512b>
+
+ <LT-Qpid-1-1K>-n LT-Qpid-1-1K -s [1000000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true BatchSize=10000 transacted=true</LT-Qpid-1-1K>
+ <LT-Qpid-2-1K>-n LT-Qpid-2-1K -s [1000000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true BatchSize=10000</LT-Qpid-2-1K>
+
+ <LT-Qpid-1-5K>-n LT-Qpid-1-5K -s [1000000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true BatchSize=10000 messagesize=5120 transacted=true</LT-Qpid-1-5K>
+ <LT-Qpid-2-5K>-n LT-Qpid-2-5K -s [1000000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true BatchSize=10000 messagesize=5120</LT-Qpid-2-5K>
+
+ <LT-Qpid-1-10K>-n LT-Qpid-1-10K -s [1000000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true BatchSize=10000 messagesize=10240 transacted=true</LT-Qpid-1-10K>
+ <LT-Qpid-2-10K>-n LT-Qpid-2-10K -s [1000000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true BatchSize=10000 messagesize=10240 </LT-Qpid-2-10K>
+
+ <LT-Qpid-1-50K>-n LT-Qpid-1-50K -s [1000000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true BatchSize=10000 messagesize=51200 transacted=true</LT-Qpid-1-50K>
+ <LT-Qpid-2-50K>-n LT-Qpid-2-50K -s [1000000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true BatchSize=10000 messagesize=51200</LT-Qpid-2-50K>
+
+ <LT-Qpid-1-1M>-n LT-Qpid-1-1M -s [1000000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true BatchSize=10000 messagesize=1048576 transacted=true</LT-Qpid-1-1M>
+ <LT-Qpid-2-1M>-n LT-Qpid-2-1M -s [1000000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf pubsub=true BatchSize=10000 messagesize=1048476</LT-Qpid-2-1M>
+
+ <!-- Topic Testing -->
+ <LT-Qpid-3-512b>-n LT-Qpid-3-512b -s [900000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf BatchSize=10000 messagesize=512 transacted=true</LT-Qpid-3-512b>
+ <LT-Qpid-4-512b>-n LT-Qpid-4-512b -s [900000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf BatchSize=10000 messagesize=512</LT-Qpid-4-512b>
+
+ <LT-Qpid-3-1K>-n LT-Qpid-3-1K -s [900000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf BatchSize=10000 transacted=true</LT-Qpid-3-1K>
+ <LT-Qpid-4-1K>-n LT-Qpid-4-1K -s [900000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf BatchSize=10000</LT-Qpid-4-1K>
+
+ <LT-Qpid-3-5K>-n LT-Qpid-3-5K -s [900000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf BatchSize=10000 messagesize=5120 transacted=true</LT-Qpid-3-5K>
+ <LT-Qpid-4-5K>-n LT-Qpid-4-5K -s [900000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf BatchSize=10000 messagesize=5120</LT-Qpid-4-5K>
+
+ <LT-Qpid-3-10K>-n LT-Qpid-3-10K -s [900000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf BatchSize=10000 messagesize=10240 transacted=true</LT-Qpid-3-10K>
+ <LT-Qpid-4-10K>-n LT-Qpid-4-10K -s [900000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf BatchSize=10000 messagesize=10240</LT-Qpid-4-10K>
+
+ <LT-Qpid-3-50K>-n LT-Qpid-3-50K -s [900000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf BatchSize=10000 messagesize=51200 transacted=true</LT-Qpid-3-50K>
+ <LT-Qpid-4-50K>-n LT-Qpid-4-50K -s [900000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf BatchSize=10000 messagesize=51200</LT-Qpid-4-50K>
+
+ <LT-Qpid-3-1M>-n LT-Qpid-3-1M -s [900000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf BatchSize=10000 messagesize=1048576 transacted=true</LT-Qpid-3-1M>
+ <LT-Qpid-4-1M>-n LT-Qpid-4-1M -s [900000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf BatchSize=10000 messagesize=1048576 </LT-Qpid-4-1M>
+
+ <!-- Failover Tests. -->
+ <!-- Transactional -->
+ <FT-Qpid-1>-n FT-Qpid-1 -s [250000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf BatchSize=10000 transacted=true broker="tcp://10.0.0.1:5001;tcp://10.0.0.2:5002" FailBeforeSend=true</FT-Qpid-1>
+ <FT-Qpid-2>-n FT-Qpid-2 -s [250000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf BatchSize=10000 transacted=true broker="tcp://10.0.0.1:5001;tcp://10.0.0.2:5002" FailAfterSend=true</FT-Qpid-2>
+ <FT-Qpid-3>-n FT-Qpid-3 -s [250000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf BatchSize=10000 transacted=true broker="tcp://10.0.0.1:5001;tcp://10.0.0.2:5002" FailAfterCommit=true</FT-Qpid-3>
+
+ <!-- Non Transactional -->
+ <FT-Qpid-4>-n FT-Qpid-4 -s [250000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf BatchSize=10000 broker="tcp://10.0.0.1:5001;tcp://10.0.0.2:5002" transacted=false FailBeforeSend=true</FT-Qpid-4>
+ <FT-Qpid-5>-n FT-Qpid-5 -s [250000] -o . -t testAsyncPingOk org.apache.qpid.ping.PingAsyncTestPerf BatchSize=10000 broker="tcp://10.0.0.1:5001;tcp://10.0.0.2:5002" transacted=false FailAfterSend=true</FT-Qpid-5>
+
+
+ </commands>
+ </configuration>
+
+ <executions>
+ <execution>
+ <phase>test</phase>
+ <!--<goals>
+ <goal>tktest</goal>
+ </goals>-->
+ </execution>
+ </executions>
+ </plugin>
<!-- Bundles all the dependencies, fully expanded into a single jar, required to run the tests.
diff --git a/qpid/java/perftests/src/test/java/org/apache/qpid/ping/PingAsyncTestPerf.java b/qpid/java/perftests/src/test/java/org/apache/qpid/ping/PingAsyncTestPerf.java
index a5647babff..63e966c63a 100644
--- a/qpid/java/perftests/src/test/java/org/apache/qpid/ping/PingAsyncTestPerf.java
+++ b/qpid/java/perftests/src/test/java/org/apache/qpid/ping/PingAsyncTestPerf.java
@@ -20,8 +20,8 @@
*/
package org.apache.qpid.ping;
-//import uk.co.thebadgerset.junit.extensions.TimingControllerAware;
-//import uk.co.thebadgerset.junit.extensions.TimingController;
+import uk.co.thebadgerset.junit.extensions.TimingControllerAware;
+import uk.co.thebadgerset.junit.extensions.TimingController;
import javax.jms.MessageListener;
import javax.jms.ObjectMessage;
@@ -38,273 +38,275 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.CountDownLatch;
-public class PingAsyncTestPerf extends PingTestPerf //implements TimingControllerAware
+public class PingAsyncTestPerf extends PingTestPerf implements TimingControllerAware
{
-// private static Logger _logger = Logger.getLogger(PingAsyncTestPerf.class);
+ private static Logger _logger = Logger.getLogger(PingAsyncTestPerf.class);
-// private TimingController _timingController;
+ private TimingController _timingController;
-// private AsyncMessageListener _listener;
+ private AsyncMessageListener _listener;
public PingAsyncTestPerf(String name)
{
super(name);
}
-// /**
-// * Compile all the tests into a test suite.
-// */
-// public static Test suite()
-// {
-// // Build a new test suite
-// TestSuite suite = new TestSuite("Ping Performance Tests");
-//
-// // Run performance tests in read committed mode.
-// suite.addTest(new PingAsyncTestPerf("testAsyncPingOk"));
-//
-// return suite;
-// }
-//
-// protected void setUp() throws Exception
-// {
-// // Create the test setups on a per thread basis, only if they have not already been created.
-//
-// if (threadSetup.get() == null)
-// {
-// PerThreadSetup perThreadSetup = new PerThreadSetup();
-//
-// // Extract the test set up paramaeters.
-// String brokerDetails = testParameters.getProperty(BROKER_PROPNAME);
-// String username = "guest";
-// String password = "guest";
-// String virtualpath = testParameters.getProperty(VIRTUAL_PATH_PROPNAME);
-// int destinationscount = Integer.parseInt(testParameters.getProperty(PING_DESTINATION_COUNT_PROPNAME));
-// String destinationname = testParameters.getProperty(PING_DESTINATION_NAME_PROPNAME);
-// boolean persistent = Boolean.parseBoolean(testParameters.getProperty(PERSISTENT_MODE_PROPNAME));
-// boolean transacted = Boolean.parseBoolean(testParameters.getProperty(TRANSACTED_PROPNAME));
-// String selector = null;
-// boolean verbose = Boolean.parseBoolean(testParameters.getProperty(VERBOSE_OUTPUT_PROPNAME));
-// int messageSize = Integer.parseInt(testParameters.getProperty(MESSAGE_SIZE_PROPNAME));
-// int rate = Integer.parseInt(testParameters.getProperty(RATE_PROPNAME));
-// boolean pubsub = Boolean.parseBoolean(testParameters.getProperty(IS_PUBSUB_PROPNAME));
-//
-//
-// boolean afterCommit = Boolean.parseBoolean(testParameters.getProperty(FAIL_AFTER_COMMIT));
-// boolean beforeCommit = Boolean.parseBoolean(testParameters.getProperty(FAIL_BEFORE_COMMIT));
-// boolean afterSend = Boolean.parseBoolean(testParameters.getProperty(FAIL_AFTER_SEND));
-// boolean beforeSend = Boolean.parseBoolean(testParameters.getProperty(FAIL_BEFORE_SEND));
-// boolean failOnce = Boolean.parseBoolean(testParameters.getProperty(FAIL_ONCE));
-//
-// int batchSize = Integer.parseInt(testParameters.getProperty(BATCH_SIZE));
-// int commitbatchSize = Integer.parseInt(testParameters.getProperty(COMMIT_BATCH_SIZE));
-//
-// // This is synchronized because there is a race condition, which causes one connection to sleep if
-// // all threads try to create connection concurrently
-// synchronized (this)
-// {
-// // Establish a client to ping a Queue and listen the reply back from same Queue
-// perThreadSetup._pingItselfClient = new TestPingItself(brokerDetails, username, password, virtualpath,
-// destinationname, selector, transacted, persistent,
-// messageSize, verbose,
-// afterCommit, beforeCommit, afterSend, beforeSend, failOnce,
-// commitbatchSize, destinationscount, rate, pubsub);
-// }
-//
-// // Attach the per-thread set to the thread.
-// threadSetup.set(perThreadSetup);
-//
-// _listener = new AsyncMessageListener(batchSize);
-//
-// perThreadSetup._pingItselfClient.setMessageListener(_listener);
-// // Start the client connection
-// perThreadSetup._pingItselfClient.getConnection().start();
-//
-// }
-// }
-//
-//
-// public void testAsyncPingOk(int numPings)
-// {
-// _timingController = this.getTimingController();
-//
-// _listener.setTotalMessages(numPings);
-//
-// PerThreadSetup perThreadSetup = threadSetup.get();
-// if (numPings == 0)
-// {
-// _logger.error("Number of pings requested was zero.");
-// fail("Number of pings requested was zero.");
-// }
-//
-// // Generate a sample message. This message is already time stamped and has its reply-to destination set.
-// ObjectMessage msg = null;
-//
-// try
-// {
-// msg = perThreadSetup._pingItselfClient.getTestMessage(null,
-// Integer.parseInt(testParameters.getProperty(
-// MESSAGE_SIZE_PROPNAME)),
-// Boolean.parseBoolean(testParameters.getProperty(
-// PERSISTENT_MODE_PROPNAME)));
-// }
-// catch (JMSException e)
-// {
-//
-// }
-//
-// // start the test
-// long timeout = Long.parseLong(testParameters.getProperty(TIMEOUT_PROPNAME));
-//
-// String correlationID = Long.toString(perThreadSetup._pingItselfClient.getNewID());
-//
-// try
-// {
-// _logger.debug("Sending messages");
-//
-// perThreadSetup._pingItselfClient.pingNoWaitForReply(msg, numPings, correlationID);
-//
-// _logger.debug("All sent");
-// }
-// catch (JMSException e)
-// {
-// e.printStackTrace();
-// Assert.fail("JMS Exception Received" + e);
-// }
-// catch (InterruptedException e)
-// {
-// e.printStackTrace();
-// }
-//
-// try
-// {
-// _logger.debug("Awating test finish");
-//
-// perThreadSetup._pingItselfClient.getEndLock(correlationID).await(timeout, TimeUnit.MILLISECONDS);
-//
-// if (perThreadSetup._pingItselfClient.getEndLock(correlationID).getCount() != 0)
-// {
-// _logger.error("Timeout occured");
-// }
-// //Allow the time out to exit the loop.
-// }
-// catch (InterruptedException e)
-// {
-// //ignore
-// _logger.error("Awaiting test end was interrupted.");
-//
-// }
-//
-// // Fail the test if the timeout was exceeded.
-// int numReplies = numPings - (int) perThreadSetup._pingItselfClient.removeLock(correlationID).getCount();
-//
-// _logger.info("Test Finished");
-//
-// if (numReplies != numPings)
-// {
-// try
-// {
-// perThreadSetup._pingItselfClient.commitTx(perThreadSetup._pingItselfClient.getConsumerSession());
-// }
-// catch (JMSException e)
-// {
-// _logger.error("Error commiting received messages", e);
-// }
-// try
-// {
-// if (_timingController != null)
-// {
-// _logger.trace("Logging missing message count");
-// _timingController.completeTest(false, numPings - numReplies);
-// }
-// }
-// catch (InterruptedException e)
-// {
-// //ignore
-// }
-// Assert.fail("The ping timed out after " + timeout + " ms. Messages Sent = " + numPings + ", MessagesReceived = " + numReplies);
-// }
-// }
-//
-// public void setTimingController(TimingController timingController)
-// {
-// _timingController = timingController;
-// }
-//
-// public TimingController getTimingController()
-// {
-// return _timingController;
-// }
-//
-//
-// private class AsyncMessageListener implements MessageListener
-// {
-// private volatile int _totalMessages;
-// private int _batchSize;
-// PerThreadSetup _perThreadSetup;
-//
-// public AsyncMessageListener(int batchSize)
-// {
-// this(batchSize, -1);
-// }
-//
-// public AsyncMessageListener(int batchSize, int totalMessages)
-// {
-// _batchSize = batchSize;
-// _totalMessages = totalMessages;
-// _perThreadSetup = threadSetup.get();
-// }
-//
-// public void setTotalMessages(int newTotal)
-// {
-// _totalMessages = newTotal;
-// }
-//
-// public void onMessage(Message message)
-// {
-// try
-// {
-// _logger.trace("Message Received");
-//
-// CountDownLatch count = _perThreadSetup._pingItselfClient.getEndLock(message.getJMSCorrelationID());
-//
-// int messagesLeft = (int) count.getCount() - 1;// minus one as we haven't yet counted the current message
-//
-// if ((messagesLeft % _batchSize) == 0)
-// {
-// doDone(_batchSize);
-// }
-// else if (messagesLeft == 0)
-// {
-// doDone(_totalMessages % _batchSize);
-// }
-//
-//
-// }
-// catch (JMSException e)
-// {
-// _logger.warn("There was a JMSException", e);
-// }
-//
-// }
-//
-// private void doDone(int messageCount)
-// {
-// _logger.trace("Messages received:" + messageCount);
-// _logger.trace("Total Messages :" + _totalMessages);
-//
-// try
-// {
-// if (_timingController != null)
-// {
-// _timingController.completeTest(true, messageCount);
-// }
-// }
-// catch (InterruptedException e)
-// {
-// //ignore
-// }
-// }
-//
-// }
+ /**
+ * Compile all the tests into a test suite.
+ */
+ public static Test suite()
+ {
+ // Build a new test suite
+ TestSuite suite = new TestSuite("Ping Performance Tests");
+
+ // Run performance tests in read committed mode.
+ suite.addTest(new PingAsyncTestPerf("testAsyncPingOk"));
+
+ return suite;
+ }
+
+ protected void setUp() throws Exception
+ {
+ // Create the test setups on a per thread basis, only if they have not already been created.
+
+ if (threadSetup.get() == null)
+ {
+ PerThreadSetup perThreadSetup = new PerThreadSetup();
+
+ // Extract the test set up paramaeters.
+ String brokerDetails = testParameters.getProperty(BROKER_PROPNAME);
+ String username = "guest";
+ String password = "guest";
+ String virtualpath = testParameters.getProperty(VIRTUAL_PATH_PROPNAME);
+ int destinationscount = Integer.parseInt(testParameters.getProperty(PING_DESTINATION_COUNT_PROPNAME));
+ String destinationname = testParameters.getProperty(PING_DESTINATION_NAME_PROPNAME);
+ boolean persistent = Boolean.parseBoolean(testParameters.getProperty(PERSISTENT_MODE_PROPNAME));
+ boolean transacted = Boolean.parseBoolean(testParameters.getProperty(TRANSACTED_PROPNAME));
+ String selector = null;
+ boolean verbose = Boolean.parseBoolean(testParameters.getProperty(VERBOSE_OUTPUT_PROPNAME));
+ int messageSize = Integer.parseInt(testParameters.getProperty(MESSAGE_SIZE_PROPNAME));
+ int rate = Integer.parseInt(testParameters.getProperty(RATE_PROPNAME));
+ boolean pubsub = Boolean.parseBoolean(testParameters.getProperty(IS_PUBSUB_PROPNAME));
+
+
+ boolean afterCommit = Boolean.parseBoolean(testParameters.getProperty(FAIL_AFTER_COMMIT));
+ boolean beforeCommit = Boolean.parseBoolean(testParameters.getProperty(FAIL_BEFORE_COMMIT));
+ boolean afterSend = Boolean.parseBoolean(testParameters.getProperty(FAIL_AFTER_SEND));
+ boolean beforeSend = Boolean.parseBoolean(testParameters.getProperty(FAIL_BEFORE_SEND));
+ boolean failOnce = Boolean.parseBoolean(testParameters.getProperty(FAIL_ONCE));
+
+ int batchSize = Integer.parseInt(testParameters.getProperty(BATCH_SIZE));
+ int commitbatchSize = Integer.parseInt(testParameters.getProperty(COMMIT_BATCH_SIZE));
+
+ // This is synchronized because there is a race condition, which causes one connection to sleep if
+ // all threads try to create connection concurrently
+ synchronized (this)
+ {
+ // Establish a client to ping a Queue and listen the reply back from same Queue
+ perThreadSetup._pingItselfClient = new TestPingItself(brokerDetails, username, password, virtualpath,
+ destinationname, selector, transacted, persistent,
+ messageSize, verbose,
+ afterCommit, beforeCommit, afterSend, beforeSend, failOnce,
+ commitbatchSize, destinationscount, rate, pubsub);
+ }
+
+ // Attach the per-thread set to the thread.
+ threadSetup.set(perThreadSetup);
+
+ _listener = new AsyncMessageListener(batchSize);
+
+ perThreadSetup._pingItselfClient.setMessageListener(_listener);
+ // Start the client connection
+ perThreadSetup._pingItselfClient.getConnection().start();
+
+ }
+ }
+
+
+ public void testAsyncPingOk(int numPings)
+ {
+ _timingController = this.getTimingController();
+
+ _listener.setTotalMessages(numPings);
+
+ PerThreadSetup perThreadSetup = threadSetup.get();
+ if (numPings == 0)
+ {
+ _logger.error("Number of pings requested was zero.");
+ fail("Number of pings requested was zero.");
+ }
+
+ // Generate a sample message. This message is already time stamped and has its reply-to destination set.
+ ObjectMessage msg = null;
+
+ try
+ {
+ msg = perThreadSetup._pingItselfClient.getTestMessage(null,
+ Integer.parseInt(testParameters.getProperty(
+ MESSAGE_SIZE_PROPNAME)),
+ Boolean.parseBoolean(testParameters.getProperty(
+ PERSISTENT_MODE_PROPNAME)));
+ }
+ catch (JMSException e)
+ {
+
+ }
+
+ // start the test
+ long timeout = Long.parseLong(testParameters.getProperty(TIMEOUT_PROPNAME));
+
+ String correlationID = Long.toString(perThreadSetup._pingItselfClient.getNewID());
+
+ try
+ {
+ _logger.debug("Sending messages");
+
+ perThreadSetup._pingItselfClient.pingNoWaitForReply(msg, numPings, correlationID);
+
+ _logger.debug("All sent");
+ }
+ catch (JMSException e)
+ {
+ e.printStackTrace();
+ Assert.fail("JMS Exception Received" + e);
+ }
+ catch (InterruptedException e)
+ {
+ e.printStackTrace();
+ }
+
+ try
+ {
+ _logger.debug("Awating test finish");
+
+ perThreadSetup._pingItselfClient.getEndLock(correlationID).await(timeout, TimeUnit.MILLISECONDS);
+
+ if (perThreadSetup._pingItselfClient.getEndLock(correlationID).getCount() != 0)
+ {
+ _logger.error("Timeout occured");
+ }
+ //Allow the time out to exit the loop.
+ }
+ catch (InterruptedException e)
+ {
+ //ignore
+ _logger.error("Awaiting test end was interrupted.");
+
+ }
+
+ // Fail the test if the timeout was exceeded.
+ int numReplies = numPings - (int) perThreadSetup._pingItselfClient.removeLock(correlationID).getCount();
+
+ _logger.info("Test Finished");
+
+ if (numReplies != numPings)
+ {
+ try
+ {
+ perThreadSetup._pingItselfClient.commitTx(perThreadSetup._pingItselfClient.getConsumerSession());
+ }
+ catch (JMSException e)
+ {
+ _logger.error("Error commiting received messages", e);
+ }
+ try
+ {
+ if (_timingController != null)
+ {
+ _logger.trace("Logging missing message count");
+ _timingController.completeTest(false, numPings - numReplies);
+ }
+ }
+ catch (InterruptedException e)
+ {
+ //ignore
+ }
+ Assert.fail("The ping timed out after " + timeout + " ms. Messages Sent = " + numPings + ", MessagesReceived = " + numReplies);
+ }
+ }
+
+ public void setTimingController(TimingController timingController)
+ {
+ _timingController = timingController;
+ }
+
+ public TimingController getTimingController()
+ {
+ return _timingController;
+ }
+
+
+ private class AsyncMessageListener implements MessageListener
+ {
+ private volatile int _totalMessages;
+ private int _batchSize;
+ PerThreadSetup _perThreadSetup;
+
+ public AsyncMessageListener(int batchSize)
+ {
+ this(batchSize, -1);
+ }
+
+ public AsyncMessageListener(int batchSize, int totalMessages)
+ {
+ _batchSize = batchSize;
+ _totalMessages = totalMessages;
+ _perThreadSetup = threadSetup.get();
+ }
+
+ public void setTotalMessages(int newTotal)
+ {
+ _totalMessages = newTotal;
+ }
+
+ public void onMessage(Message message)
+ {
+ try
+ {
+ _logger.trace("Message Received");
+
+ CountDownLatch count = _perThreadSetup._pingItselfClient.getEndLock(message.getJMSCorrelationID());
+
+ if (count != null)
+ {
+ int messagesLeft = (int) count.getCount() - 1;// minus one as we haven't yet counted the current message
+
+ if ((messagesLeft % _batchSize) == 0)
+ {
+ doDone(_batchSize);
+ }
+ else if (messagesLeft == 0)
+ {
+ doDone(_totalMessages % _batchSize);
+ }
+ }
+
+ }
+ catch (JMSException e)
+ {
+ _logger.warn("There was a JMSException", e);
+ }
+
+ }
+
+ private void doDone(int messageCount)
+ {
+ _logger.trace("Messages received:" + messageCount);
+ _logger.trace("Total Messages :" + _totalMessages);
+
+ try
+ {
+ if (_timingController != null)
+ {
+ _timingController.completeTest(true, messageCount);
+ }
+ }
+ catch (InterruptedException e)
+ {
+ //ignore
+ }
+ }
+
+ }
}
diff --git a/qpid/java/pom.xml b/qpid/java/pom.xml
index acc8e76683..099f55897d 100644
--- a/qpid/java/pom.xml
+++ b/qpid/java/pom.xml
@@ -97,7 +97,7 @@
<java.source.version>1.5</java.source.version>
<compile.flags>-Xlint:fallthrough,finally</compile.flags>
- <!--
+ <!--
This should always point to a default minimal log4j configuration that all developers are happy with as a useable default. To use your own
log4j preferences set up an alternative in your settings.xml and avoid corrupting the default with private preferences.
-->
@@ -211,15 +211,15 @@
This is done during the 'compile' phase to reflect the version of the currently compiled code and to ensure that
these properties are up to date when running from a file system classpath. Consider moving this to, or running a second
time, during the 'package' phase to capture the version of any resources added to jar files.
- This svnversion command is always run in the top directory to accurately reflect the svnversion range accross all modules
+ This svnversion command is always run in the top directory to accurately reflect the svnversion range accross all modules
at the time of the build.
The properties are placed into a file 'qpidversion.properties' in the target/classes directory of any child module
that runs this plugin.
The 'qpidversion.properties' file is loaded by the org.apache.qpid.common.QpidProperties class.
- Be carefull of the possibility that the 'common' module may run this antrun plugin and recieve its own set of
- qpidversion.properties and then the client or broker being built against an older version of the common library ending
- up with the wrong version information. This is unlikely to happen because the client or broker should pick up its own
- properties from the classpath first. If this happens it will be obvious because the productName property will be
+ Be carefull of the possibility that the 'common' module may run this antrun plugin and recieve its own set of
+ qpidversion.properties and then the client or broker being built against an older version of the common library ending
+ up with the wrong version information. This is unlikely to happen because the client or broker should pick up its own
+ properties from the classpath first. If this happens it will be obvious because the productName property will be
'Qpid Common Utilities'. If this is a problem then push this ant task down into the client and broker poms and remove it
from here.
-->
@@ -229,7 +229,7 @@
<configuration>
<tasks>
- <exec executable="svnversion" spawn="false" failifexecutionfails="false"
+ <exec executable="svnversion" spawn="false" failifexecutionfails="false"
dir="${topDirectoryLocation}" outputproperty="svnversion">
<arg line="."/>
</exec>