I have been able to get this fixed in the Jmeter. Actually the calls made for connection.setClientID(idGenerator.generateId());//not supported by OpenJMS are removed from the OpenJMS code path in the org.activemq.sampler.Consumer And added the UniqueID to the client name while creating the subscription. <<consumer = ((TopicSession)session).createDurableSubscriber(topic, getClass().getName()); >>consumer = ((TopicSession)session).createDurableSubscriber(topic, getClass().getName()+idGenerator.generateId());
Ensure that the consumer sampler is the first Member of the test ThreadGroup and the tests run fine. However on stressting the OpenJMS with more than one subscribers/Publishers there are SqlServer deadlock exceptions printed on the OpenJMS console. 17:04:03.376 ERROR [Scheduler-Worker-3] - Error in SentMessageCache.process org.exolab.jms.persistence.PersistenceException: ava.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Tra saction (Process ID 54) was deadlocked on {lock} resources with another process and has been chosen as the deadlock victim. Rerun the transaction. at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source) OpenJMS selects the victim and reruns the transactions but the consumers are badly affected from this and the messages throughput is drastacally decresed to 2-3 messages/Sec. Regards, Hemant Gaur -----Original Message----- From: Hemant Gaur [mailto:[EMAIL PROTECTED] Sent: Tuesday, December 12, 2006 6:48 PM To: activemq-users@geronimo.apache.org Subject: RE: Consumer Sampler: How to configure No. of Consumers >From org.activemq.sampler.Consumer In the subscribe( name) function 1.) connection.setClientID(idGenerator.generateId()); The set ClientID is not supported in the openJMS. 2.) consumer = ((TopicSession)session).createDurableSubscriber(topic, getClass().getName()); Open JMS does not allows to create the durable subscrioption for the same client name for the topics which is done in ActiveMQ tests. http://openjms.sourceforge.net/xref/org/exolab/jms/server/JmsServerSessi on.html /*** * Unsubscribe a durable subscription. This will delete the state of * the durable subscriber maintained by the server. A durable subscriber * is uniquely identifiable and the same subscriber cannot be associated * with more than topic. * * @param name the name used to uniquely identify the * subscription * @throws JMSException if the subscription cannot be removed * or any other problem. Has anyone ever tried using the ActiveMQ tests with the openJMS for the mutiple topics and subscribers ? Regards, Hemant -----Original Message----- From: Hemant Gaur [mailto:[EMAIL PROTECTED] Sent: Tuesday, December 12, 2006 3:35 PM To: activemq-users@geronimo.apache.org Subject: RE: Consumer Sampler: How to configure No. of Consumers I see from connecting to the ActiveMQ that the consumers have the same names for all the instances but with the different topic subscription. When these are added to the OpenJMS DB they are cleaned up and only one consumer is left. Any thoughts will be appriacted. --hemant -----Original Message----- From: Hemant Gaur [mailto:[EMAIL PROTECTED] Sent: Tuesday, December 12, 2006 2:37 PM To: activemq-users@geronimo.apache.org Subject: Consumer Sampler: How to configure No. of Consumers Hi, I am trying to run the jmeter test provided by ActiveMQ on the OpenJMS release version. The desired configuration is 5 topics, 5 publishers, 5 consumers, persistent, non- synchronous. Though I have added 5 Consumers in the consumer sampler, the DataBase still shows only one after running the tests in the consumer table. org.activemq.sampler.Consumer Also I had to add all the topics manually into the openJMS config to get things running. <AdministeredDestinations> <AdministeredTopic name="TOOL.DEFAULT.TOPIC0"/> <AdministeredTopic name="TOOL.DEFAULT.TOPIC1"/> <AdministeredTopic name="TOOL.DEFAULT.TOPIC2"/> <AdministeredTopic name="TOOL.DEFAULT.TOPIC3"/> <AdministeredTopic name="TOOL.DEFAULT.TOPIC4"/> </AdministeredDestinations> The messages are published to all the five topics. My queries are : How do I verify that they are published from the 5 Publishers? How to get the five consumers ? What does this configuration mean , all the five publisher publishing to five topics and the five consumers subscribing to all of them ? JMeterLogs 2006/12/12 13:13:18 INFO - jmeter.JMeter: Version 2.1.20050419 2006/12/12 13:13:18 INFO - jmeter.JMeter: java.version=1.6.0-rc 2006/12/12 13:13:18 INFO - jmeter.JMeter: Copyright (c) 1998-2005 The Apache Software Foundation 2006/12/12 13:13:20 ERROR - jmeter.gui.action.Help: Couldn't load help file java.io.FileNotFoundException: C:\ActiveMQ\activemq-jmeter-4.0-SNAPSHOT\printable_docs\usermanual\compo nent_reference.html (The system cannot find the path specified) 2006/12/12 13:13:20 WARN - jmeter.util.JMeterUtils: ERROR! Resource string not found: [swiftmq_server] 2006/12/12 13:13:20 WARN - jmeter.util.JMeterUtils: ERROR! Resource string not found: [form_msg_send_type] 2006/12/12 13:13:20 WARN - jmeter.util.JMeterUtils: ERROR! Resource string not found: [form_async_send] 2006/12/12 13:13:20 WARN - jmeter.util.JMeterUtils: ERROR! Resource string not found: [form_non_async_send] 2006/12/12 13:13:20 WARN - jmeter.util.JMeterUtils: ERROR! Resource string not found: [swiftmq_server] 2006/12/12 13:13:20 WARN - jmeter.util.JMeterUtils: ERROR! Resource string not found: [form_msg_send_type] 2006/12/12 13:13:20 WARN - jmeter.util.JMeterUtils: ERROR! Resource string not found: [form_async_send] 2006/12/12 13:13:20 WARN - jmeter.util.JMeterUtils: ERROR! Resource string not found: [form_non_async_send] 2006/12/12 13:13:20 WARN - jmeter.util.JMeterUtils: ERROR! Resource string not found: [form_msg_send_type] 2006/12/12 13:13:20 WARN - jmeter.util.JMeterUtils: ERROR! Resource string not found: [form_async_send] 2006/12/12 13:13:20 WARN - jmeter.util.JMeterUtils: ERROR! Resource string not found: [form_non_async_send] 2006/12/12 13:13:20 WARN - jmeter.util.JMeterUtils: ERROR! Resource string not found: [form_msg_send_type] 2006/12/12 13:13:20 WARN - jmeter.util.JMeterUtils: ERROR! Resource string not found: [form_async_send] 2006/12/12 13:13:20 WARN - jmeter.util.JMeterUtils: ERROR! Resource string not found: [form_non_async_send] 2006/12/12 13:13:21 WARN - jmeter.testbeans.gui.TestBeanGUI: testing class: org.apache.jmeter.config.CSVDataSet 2006/12/12 13:13:21 WARN - jmeter.testbeans.gui.TestBeanGUI: testing class: org.apache.jmeter.protocol.http.sampler.AccessLogSampler 2006/12/12 13:13:21 INFO - jmeter.protocol.http.sampler.AccessLogSamplerBeanInfo: Entered access log sampler bean info 2006/12/12 13:13:21 INFO - jmeter.protocol.http.sampler.AccessLogSamplerBeanInfo: found parsers: [org.apache.jmeter.protocol.http.util.accesslog.TCLogParser] 2006/12/12 13:13:21 INFO - jmeter.protocol.http.sampler.AccessLogSamplerBeanInfo: Got to end of access log samper bean info init 2006/12/12 13:13:21 WARN - jmeter.testbeans.gui.TestBeanGUI: testing class: org.apache.jmeter.protocol.jdbc.config.DataSourceElement 2006/12/12 13:13:21 WARN - jmeter.testbeans.gui.TestBeanGUI: testing class: org.apache.jmeter.protocol.jdbc.sampler.JDBCSampler 2006/12/12 13:13:21 WARN - jmeter.testbeans.gui.TestBeanGUI: testing class: org.apache.jmeter.timers.ConstantThroughputTimer 2006/12/12 13:13:21 WARN - jmeter.testbeans.gui.TestBeanGUI: testing class: org.apache.jmeter.timers.SyncTimer 2006/12/12 13:13:21 INFO - jmeter.samplers.SampleResult: Note: Sample TimeStamps are END times 2006/12/12 13:13:21 INFO - jmeter.samplers.SampleResult: sampleresult.default.encoding is set to ISO-8859-1 2006/12/12 13:13:28 INFO - jmeter.services.FileServer: Setting basedir to: null 2006/12/12 13:13:32 INFO - jmeter.gui.action.Load: Loading file: C:\ActiveMQ\activemq-jmeter-4.0-SNAPSHOT\bin\Hemant\ALL555.jmx 2006/12/12 13:13:32 INFO - jmeter.services.FileServer: Setting basedir to: C:\ActiveMQ\activemq-jmeter-4.0-SNAPSHOT\bin\Hemant\ALL555.jmx 2006/12/12 13:13:32 INFO - jmeter.save.SaveService: Using SaveService properties file 1.5 2006/12/12 13:13:32 WARN - jmeter.save.SaveService: Could not set up alias BeanShellSampler java.lang.ClassNotFoundException: org.apache.jmeter.protocol.java.sampler.BeanShellSampler 2006/12/12 13:13:32 WARN - jmeter.save.SaveService: Could not set up alias WebServiceSampler java.lang.ClassNotFoundException: org.apache.jmeter.protocol.http.sampler.WebServiceSampler 2006/12/12 13:13:32 INFO - jmeter.save.SaveService: All converter versions present and correct 2006/12/12 13:13:32 INFO - org.activemq.sampler.Producer: Protocol Handler name=SamplerClientImpl 2006/12/12 13:13:32 INFO - org.activemq.sampler.Producer: Status prefix= 2006/12/12 13:13:32 INFO - org.activemq.sampler.Producer: Status suffix= 2006/12/12 13:13:32 INFO - org.activemq.sampler.Producer: Status properties= 2006/12/12 13:13:32 INFO - org.activemq.sampler.SamplerClientImpl: Using eolByte=0 2006/12/12 13:13:32 INFO - org.activemq.sampler.Consumer: Protocol Handler name=SamplerClientImpl 2006/12/12 13:13:32 INFO - org.activemq.sampler.Consumer: Status prefix= 2006/12/12 13:13:32 INFO - org.activemq.sampler.Consumer: Status suffix= 2006/12/12 13:13:32 INFO - org.activemq.sampler.Consumer: Status properties= 2006/12/12 13:13:32 INFO - org.activemq.sampler.SamplerClientImpl: Using eolByte=0 2006/12/12 13:13:32 WARN - jmeter.util.JMeterUtils: ERROR! Resource string not found: [form_msg_send_type] 2006/12/12 13:13:32 WARN - jmeter.util.JMeterUtils: ERROR! Resource string not found: [form_async_send] 2006/12/12 13:13:32 WARN - jmeter.util.JMeterUtils: ERROR! Resource string not found: [form_non_async_send] 2006/12/12 13:13:32 WARN - jmeter.util.JMeterUtils: ERROR! Resource string not found: [form_msg_send_type] 2006/12/12 13:13:32 WARN - jmeter.util.JMeterUtils: ERROR! Resource string not found: [form_async_send] 2006/12/12 13:13:32 WARN - jmeter.util.JMeterUtils: ERROR! Resource string not found: [form_non_async_send] 2006/12/12 13:13:32 INFO - jmeter.services.FileServer: Setting basedir to: C:\ActiveMQ\activemq-jmeter-4.0-SNAPSHOT\bin\Hemant\ALL555.jmx 2006/12/12 13:13:32 INFO - org.activemq.sampler.SamplerClientImpl: Using eolByte=0 2006/12/12 13:13:32 INFO - org.activemq.sampler.SamplerClientImpl: Using eolByte=0 2006/12/12 13:13:57 INFO - org.activemq.sampler.SamplerClientImpl: Using eolByte=0 2006/12/12 13:13:57 INFO - org.activemq.sampler.SamplerClientImpl: Using eolByte=0 2006/12/12 13:13:57 INFO - jmeter.engine.StandardJMeterEngine: Running the test! 2006/12/12 13:13:57 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(true,local) 2006/12/12 13:13:57 INFO - jmeter.engine.StandardJMeterEngine: Starting 1 threads for group Thread Group. Ramp up = 1. 2006/12/12 13:13:57 INFO - jmeter.engine.StandardJMeterEngine: Test will stop on error 2006/12/12 13:13:57 WARN - jmeter.threads.JMeterThread: jmeterthread.startearlier=true (see jmeter.properties) 2006/12/12 13:13:57 INFO - org.activemq.sampler.SamplerClientImpl: Using eolByte=0 2006/12/12 13:13:57 INFO - org.activemq.sampler.SamplerClientImpl: Using eolByte=0 2006/12/12 13:13:57 INFO - jmeter.threads.JMeterThread: Thread Thread Group 1-1 started 2006/12/12 13:13:57 WARN - jmeter.util.JMeterUtils: ERROR! Resource string not found: [swiftmq_server] 2006/12/12 13:13:57 WARN - jmeter.util.JMeterUtils: ERROR! Resource string not found: [webspheremq_server] 2006/12/12 13:13:58 ERROR - org.activemq.sampler.Consumer: Error running consumer javax.jms.JMSException: Failed to unsubscribe subscriber org.activemq.sampler.Consumer since is still active at org.exolab.jms.server.JmsServerSession.unsubscribe(JmsServerSession.java :881) at org.exolab.jms.server.JmsServerSession.createSubscriber(JmsServerSession .java:758) at org.exolab.jms.server.mipc.IpcJmsSessionConnection.createSubscriber(IpcJ msSessionConnection.java:588) at org.exolab.jms.server.mipc.IpcJmsSessionConnection.notify(IpcJmsSessionC onnection.java:165) at org.exolab.jms.server.mipc.IpcJmsReceiver.notify(IpcJmsReceiver.java:100 ) at org.exolab.jms.server.mipc.IpcServerChannel.run(IpcServerChannel.java:16 1) 2006/12/12 13:13:58 INFO - jmeter.threads.JMeterThread: Thread Thread Group 1-1 is done 2006/12/12 13:13:58 INFO - jmeter.engine.StandardJMeterEngine: Ending thread 0 2006/12/12 13:13:58 INFO - jmeter.engine.StandardJMeterEngine: Stopping test 2006/12/12 13:13:58 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(false,local) 2006/12/12 13:13:58 INFO - jmeter.engine.StandardJMeterEngine: Test has ended ===========================