You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by gt...@apache.org on 2009/06/30 14:23:01 UTC

svn commit: r789691 - /activemq/trunk/activemq-core/src/test/java/org/apache/activemq/advisory/MasterSlaveTempQueueMemoryTest.java

Author: gtully
Date: Tue Jun 30 12:23:01 2009
New Revision: 789691

URL: http://svn.apache.org/viewvc?rev=789691&view=rev
Log:
remove check in inflight as it is not totally deterministic so this test randomly fails on some machines

Modified:
    activemq/trunk/activemq-core/src/test/java/org/apache/activemq/advisory/MasterSlaveTempQueueMemoryTest.java

Modified: activemq/trunk/activemq-core/src/test/java/org/apache/activemq/advisory/MasterSlaveTempQueueMemoryTest.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/advisory/MasterSlaveTempQueueMemoryTest.java?rev=789691&r1=789690&r2=789691&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/test/java/org/apache/activemq/advisory/MasterSlaveTempQueueMemoryTest.java (original)
+++ activemq/trunk/activemq-core/src/test/java/org/apache/activemq/advisory/MasterSlaveTempQueueMemoryTest.java Tue Jun 30 12:23:01 2009
@@ -29,9 +29,17 @@
 import org.apache.activemq.broker.BrokerService;
 import org.apache.activemq.broker.region.Queue;
 import org.apache.activemq.broker.region.RegionBroker;
+import org.apache.activemq.broker.region.policy.DispatchPolicy;
+import org.apache.activemq.broker.region.policy.PolicyEntry;
+import org.apache.activemq.broker.region.policy.PolicyMap;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
 
 public class MasterSlaveTempQueueMemoryTest extends TempQueueMemoryTest {
+   
+    private static final transient Log LOG = LogFactory.getLog(MasterSlaveTempQueueMemoryTest.class);
+    
     String masterBindAddress = "tcp://localhost:61616";
     String slaveBindAddress = "tcp://localhost:62616";
     BrokerService slave;
@@ -46,16 +54,29 @@
         bindAddress = masterBindAddress;
         BrokerService master = super.createBroker();
         master.setBrokerName("master");
-        master.setUseJmx(false);
+        configureBroker(master);
         bindAddress = slaveBindAddress;
         slave = super.createBroker();
         slave.setBrokerName("slave");
         slave.setMasterConnectorURI(masterBindAddress);
-        slave.setUseJmx(false);
+        
+        configureBroker(slave);
         bindAddress = masterBindAddress;
         return master;
     }
 
+    private void configureBroker(BrokerService broker) {
+        broker.setUseJmx(false);
+        PolicyMap policyMap = new PolicyMap();
+        PolicyEntry defaultEntry = new PolicyEntry();
+        defaultEntry.setOptimizedDispatch(true);
+        policyMap.setDefaultEntry(defaultEntry);
+        // optimized dispatch does not effect the determinism of inflight between
+        // master and slave in this test
+        //broker.setDestinationPolicy(policyMap);
+        
+    }
+
     @Override
     protected void startBroker() throws Exception {
         
@@ -107,13 +128,20 @@
         RegionBroker masterRb = (RegionBroker) broker.getBroker().getAdaptor(
                 RegionBroker.class);
 
-        assertEquals("inflight match", rb.getDestinationStatistics().getInflight().getCount(), masterRb.getDestinationStatistics().getInflight().getCount());
+        LOG.info("enqueues " + rb.getDestinationStatistics().getEnqueues().getCount());
         assertEquals("enqueues match", rb.getDestinationStatistics().getEnqueues().getCount(), masterRb.getDestinationStatistics().getEnqueues().getCount());
         
+        LOG.info("dequeues " + rb.getDestinationStatistics().getDequeues().getCount());
         assertEquals("dequeues match",
                 rb.getDestinationStatistics().getDequeues().getCount(),
                 masterRb.getDestinationStatistics().getDequeues().getCount());
-        
+
+        LOG.info("inflight, slave " + rb.getDestinationStatistics().getInflight().getCount()
+                + ", master " + masterRb.getDestinationStatistics().getInflight().getCount());
+
+        // not totally deterministic for this test - maybe due to async send
+        //assertEquals("inflight match", rb.getDestinationStatistics().getInflight().getCount(), masterRb.getDestinationStatistics().getInflight().getCount());
+
         // slave does not actually dispatch any messages, so no request/reply(2) pair per iteration(COUNT)
         // slave estimate must be >= actual master value
         // master does not always reach expected total, should be assertEquals.., why?