Author: robbie
Date: Fri Oct  7 21:13:29 2011
New Revision: 1180245

URL: http://svn.apache.org/viewvc?rev=1180245&view=rev
Log:
NO-JIRA: update various tests to try and avoid their sporadic failure on the 
Jenkins persistent test runs due to the sometimes severe slowdowns on the 
Jenkins slaves

InfoPluginTest: correct the test to record receipt of the payload before 
tripping the countdown latch, ensuring the subsequent list size check in the 
main test thread doesnt fail because of scheduling.
AMQQueueDeferredOrderingTest: reduce the number of messages used during 
persistent runs, the test takes an excessive amount of time to complete and can 
fail if the storage is expecially slow.
ResetMessageListenerTest: increase the time allowed to receive the messages, 
the 1sec allowance can be insufficient on persistent runs if the storage is 
especially slow.
QueueDepthWithSelectorTest: ensure that a synchronous operation is performed 
before proceeding to later validate the queue depth on another session, 
ensuring that in persistent runs all the acks have first made it to the broker 
and been processed.

Modified:
    
qpid/trunk/qpid/java/broker-plugins/experimental/info/src/test/java/org/apache/qpid/info/systest/InfoPluginTest.java
    
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/AMQQueueDeferredOrderingTest.java
    
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/ResetMessageListenerTest.java
    
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/queue/QueueDepthWithSelectorTest.java

Modified: 
qpid/trunk/qpid/java/broker-plugins/experimental/info/src/test/java/org/apache/qpid/info/systest/InfoPluginTest.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/experimental/info/src/test/java/org/apache/qpid/info/systest/InfoPluginTest.java?rev=1180245&r1=1180244&r2=1180245&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker-plugins/experimental/info/src/test/java/org/apache/qpid/info/systest/InfoPluginTest.java
 (original)
+++ 
qpid/trunk/qpid/java/broker-plugins/experimental/info/src/test/java/org/apache/qpid/info/systest/InfoPluginTest.java
 Fri Oct  7 21:13:29 2011
@@ -210,12 +210,13 @@ public class InfoPluginTest extends Qpid
                 }
                 br.close();
                 System.out.println("*** Received buffer: " + buf);
-                System.out.println("*** Latch countdown");
-                _latch.countDown();
                 synchronized (_recv)
                 {
                     _recv.add(buf);
                 }
+
+                System.out.println("*** Latch countdown");
+                _latch.countDown();
             }
             catch (Exception ex)
             {

Modified: 
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/AMQQueueDeferredOrderingTest.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/AMQQueueDeferredOrderingTest.java?rev=1180245&r1=1180244&r2=1180245&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/AMQQueueDeferredOrderingTest.java
 (original)
+++ 
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/AMQQueueDeferredOrderingTest.java
 Fri Oct  7 21:13:29 2011
@@ -35,13 +35,11 @@ import org.slf4j.LoggerFactory;
 
 public class AMQQueueDeferredOrderingTest extends QpidBrokerTestCase
 {
-
-    private static final int NUM_MESSAGES = 1000;
-
     private Connection con;
     private Session session;
     private AMQQueue queue;
     private MessageConsumer consumer;
+    private int numMessages;
 
     private static final Logger _logger = 
LoggerFactory.getLogger(AMQQueueDeferredOrderingTest.class);
 
@@ -87,6 +85,8 @@ public class AMQQueueDeferredOrderingTes
     {
         super.setUp();
 
+        numMessages = isBrokerStorePersistent() ? 300 : 1000;
+
         _logger.info("Create Connection");
         con = getConnection();
         _logger.info("Create Session");
@@ -105,19 +105,19 @@ public class AMQQueueDeferredOrderingTes
 
         // Setup initial messages
         _logger.info("Creating first producer thread");
-        producerThread = new ASyncProducer(queue, 0, NUM_MESSAGES / 2);
+        producerThread = new ASyncProducer(queue, 0, numMessages / 2);
         producerThread.start();
         // Wait for them to be done
         producerThread.join();
 
         // Setup second set of messages to produce while we consume
         _logger.info("Creating second producer thread");
-        producerThread = new ASyncProducer(queue, NUM_MESSAGES / 2, 
NUM_MESSAGES);
+        producerThread = new ASyncProducer(queue, numMessages / 2, 
numMessages);
         producerThread.start();
 
         // Start consuming and checking they're in order
         _logger.info("Consuming messages");
-        for (int i = 0; i < NUM_MESSAGES; i++)
+        for (int i = 0; i < numMessages; i++)
         {
             Message msg = consumer.receive(3000);
             assertNotNull("Message should not be null", msg);

Modified: 
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/ResetMessageListenerTest.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/ResetMessageListenerTest.java?rev=1180245&r1=1180244&r2=1180245&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/ResetMessageListenerTest.java
 (original)
+++ 
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/ResetMessageListenerTest.java
 Fri Oct  7 21:13:29 2011
@@ -135,7 +135,7 @@ public class ResetMessageListenerTest ex
         try
         {
             assertTrue("Did not receive all first batch of messages", 
-                    _allFirstMessagesSent.await(1000, TimeUnit.MILLISECONDS));
+                    _allFirstMessagesSent.await(MSG_COUNT, TimeUnit.SECONDS));
             _logger.info("Received first batch of messages");
         }
         catch (InterruptedException e)
@@ -212,7 +212,7 @@ public class ResetMessageListenerTest ex
 
         try
         {
-            assertTrue(_allSecondMessagesSent.await(1000, 
TimeUnit.MILLISECONDS));
+            assertTrue(_allSecondMessagesSent.await(MSG_COUNT, 
TimeUnit.SECONDS));
         }
         catch (InterruptedException e)
         {

Modified: 
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/queue/QueueDepthWithSelectorTest.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/queue/QueueDepthWithSelectorTest.java?rev=1180245&r1=1180244&r2=1180245&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/queue/QueueDepthWithSelectorTest.java
 (original)
+++ 
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/queue/QueueDepthWithSelectorTest.java
 Fri Oct  7 21:13:29 2011
@@ -110,18 +110,13 @@ public class QueueDepthWithSelectorTest 
         try
         {
             Connection connection = getConnection();
-            Session session = connection.createSession(false, 
Session.AUTO_ACKNOWLEDGE);
+            AMQSession session = (AMQSession)connection.createSession(false, 
Session.AUTO_ACKNOWLEDGE);
 
-            Thread.sleep(2000);
-            long queueDepth = ((AMQSession) 
session).getQueueDepth((AMQDestination) _queue);
+            long queueDepth = session.getQueueDepth((AMQDestination) _queue);
             assertEquals("Session reports Queue depth not as expected", 
expectedDepth, queueDepth);
             
             connection.close();
         }
-        catch (InterruptedException e)
-        {
-            fail(e.getMessage());
-        }
         catch (AMQException e)
         {
             fail(e.getMessage());
@@ -158,6 +153,10 @@ public class QueueDepthWithSelectorTest 
         {
             assertTrue("Message " + msgId + " not received.", 
msgIdRecevied[msgId]);
         }
+
+        //do a synchronous op to ensure the acks are processed
+        //on the broker before proceeding
+        ((AMQSession)_clientSession).sync();
     }
 
     /**



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to