You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ro...@apache.org on 2011/10/07 23:14:29 UTC

svn commit: r1180245 - in /qpid/trunk/qpid/java: broker-plugins/experimental/info/src/test/java/org/apache/qpid/info/systest/ systests/src/main/java/org/apache/qpid/client/ systests/src/main/java/org/apache/qpid/server/queue/

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:commits-subscribe@qpid.apache.org