You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ri...@apache.org on 2007/01/25 14:08:06 UTC
svn commit: r499781 - in /incubator/qpid/trunk/qpid/java/perftests/src:
main/java/org/apache/qpid/requestreply/PingPongProducer.java
test/java/org/apache/qpid/ping/PingAsyncTestPerf.java
Author: ritchiem
Date: Thu Jan 25 05:08:05 2007
New Revision: 499781
URL: http://svn.apache.org/viewvc?view=rev&rev=499781
Log:
Fixed race condition that would cause duplicate batch data to be logged.
Modified:
incubator/qpid/trunk/qpid/java/perftests/src/main/java/org/apache/qpid/requestreply/PingPongProducer.java
incubator/qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/ping/PingAsyncTestPerf.java
Modified: incubator/qpid/trunk/qpid/java/perftests/src/main/java/org/apache/qpid/requestreply/PingPongProducer.java
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/perftests/src/main/java/org/apache/qpid/requestreply/PingPongProducer.java?view=diff&rev=499781&r1=499780&r2=499781
==============================================================================
--- incubator/qpid/trunk/qpid/java/perftests/src/main/java/org/apache/qpid/requestreply/PingPongProducer.java (original)
+++ incubator/qpid/trunk/qpid/java/perftests/src/main/java/org/apache/qpid/requestreply/PingPongProducer.java Thu Jan 25 05:08:05 2007
@@ -505,8 +505,10 @@
*/
public void onMessage(Message message)
{
+
try
{
+
// Store the reply, if it has a correlation id that is expected.
String correlationID = message.getJMSCorrelationID();
@@ -523,11 +525,18 @@
{
if (_messageListener != null)
{
- _messageListener.onMessage(message);
+ synchronized (trafficLight)
+ {
+ _messageListener.onMessage(message);
+ trafficLight.countDown();
+ }
+ }
+ else
+ {
+ trafficLight.countDown();
}
_logger.trace("Reply was expected, decrementing the latch for the id.");
- trafficLight.countDown();
long remainingCount = trafficLight.getCount();
Modified: incubator/qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/ping/PingAsyncTestPerf.java
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/ping/PingAsyncTestPerf.java?view=diff&rev=499781&r1=499780&r2=499781
==============================================================================
--- incubator/qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/ping/PingAsyncTestPerf.java (original)
+++ incubator/qpid/trunk/qpid/java/perftests/src/test/java/org/apache/qpid/ping/PingAsyncTestPerf.java Thu Jan 25 05:08:05 2007
@@ -168,7 +168,7 @@
// catch (JMSException e)
// {
// e.printStackTrace();
-// Assert.fail("JMS Exception Recevied" + e);
+// Assert.fail("JMS Exception Received" + e);
// }
// catch (InterruptedException e)
// {
@@ -207,11 +207,15 @@
// }
// catch (JMSException e)
// {
-// _logger.error("Error commiting recevied messages", e);
+// _logger.error("Error commiting received messages", e);
// }
// try
// {
-// _timingController.completeTest(false, numPings - numReplies);
+// if (_timingController != null)
+// {
+// _logger.trace("Logging missing message count");
+// _timingController.completeTest(false, numPings - numReplies);
+// }
// }
// catch (InterruptedException e)
// {
@@ -259,35 +263,22 @@
// {
// try
// {
-// _logger.trace("Message Recevied");
+// _logger.trace("Message Received");
//
// CountDownLatch count = _perThreadSetup._pingItselfClient.getEndLock(message.getJMSCorrelationID());
//
-// int messagesLeft = (int) count.getCount();
+// int messagesLeft = (int) count.getCount() - 1;// minus one as we haven't yet counted the current message
//
-// int messagesReceived = _totalMessages - messagesLeft;
-//
-// try
+// if ((messagesLeft % _batchSize) == 0)
// {
-// if (messagesReceived % _batchSize == 0)
-// {
-// if (_timingController != null)
-// {
-// _timingController.completeTest(true, _batchSize);
-// }
-// }
-// else if (messagesReceived == _totalMessages)
-// {
-// _logger.info("Test Completed.. signalling");
-// doDone(messagesReceived);
-// }
-//
+// doDone(_batchSize);
// }
-// catch (InterruptedException e)
+// else if (messagesLeft == 0)
// {
-// _logger.error("Interupted Test");
-//// doDone(messagesReceived);
+// doDone(_totalMessages % _batchSize);
// }
+//
+//
// }
// catch (JMSException e)
// {
@@ -303,7 +294,10 @@
//
// try
// {
-// _timingController.completeTest(true, messageCount);
+// if (_timingController != null)
+// {
+// _timingController.completeTest(true, messageCount);
+// }
// }
// catch (InterruptedException e)
// {