[jboss-cvs] JBoss Messaging SVN: r7233 - in trunk: tests/src/org/jboss/messaging/tests/integration/remoting and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sun Jun 7 03:11:46 EDT 2009


Author: timfox
Date: 2009-06-07 03:11:45 -0400 (Sun, 07 Jun 2009)
New Revision: 7233

Modified:
   trunk/src/main/org/jboss/messaging/core/remoting/server/impl/RemotingServiceImpl.java
   trunk/tests/src/org/jboss/messaging/tests/integration/remoting/PingTest.java
Log:
fixed test

Modified: trunk/src/main/org/jboss/messaging/core/remoting/server/impl/RemotingServiceImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/server/impl/RemotingServiceImpl.java	2009-06-06 18:29:49 UTC (rev 7232)
+++ trunk/src/main/org/jboss/messaging/core/remoting/server/impl/RemotingServiceImpl.java	2009-06-07 07:11:45 UTC (rev 7233)
@@ -369,7 +369,7 @@
                                         final long clientFailureCheckPeriod,
                                         final long connectionTTL)
    {
-      if (connectionTTL <= 0 || clientFailureCheckPeriod <= 0)
+      if ((connectionTTL <= 0 || clientFailureCheckPeriod <= 0) && connectionTTL != -1 && clientFailureCheckPeriod != -1)
       {
          log.warn("Invalid values of connectionTTL/clientFailureCheckPeriod");
 

Modified: trunk/tests/src/org/jboss/messaging/tests/integration/remoting/PingTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/remoting/PingTest.java	2009-06-06 18:29:49 UTC (rev 7232)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/remoting/PingTest.java	2009-06-07 07:11:45 UTC (rev 7233)
@@ -107,9 +107,10 @@
       TransportConfiguration transportConfig = new TransportConfiguration("org.jboss.messaging.integration.transports.netty.NettyConnectorFactory");
 
       ClientSessionFactory csf = new ClientSessionFactoryImpl(transportConfig);
-      
+
       csf.setClientFailureCheckPeriod(CLIENT_FAILURE_CHECK_PERIOD);
-      
+      csf.setConnectionTTL(CLIENT_FAILURE_CHECK_PERIOD * 2);
+
       ClientSession session = csf.createSession(false, true, true);
 
       assertEquals(1, ((ClientSessionFactoryInternal)csf).numConnections());
@@ -138,17 +139,13 @@
 
       serverConn.addFailureListener(serverListener);
 
-      Thread.sleep(CLIENT_FAILURE_CHECK_PERIOD * 3);
+      Thread.sleep(CLIENT_FAILURE_CHECK_PERIOD * 10);
 
       assertNull(clientListener.getException());
 
       assertNull(serverListener.getException());
 
-      RemotingConnection serverConn2 = server
-                                                       .getRemotingService()
-                                                       .getConnections()
-                                                       .iterator()
-                                                       .next();
+      RemotingConnection serverConn2 = server.getRemotingService().getConnections().iterator().next();
 
       assertTrue(serverConn == serverConn2);
 
@@ -163,8 +160,8 @@
       TransportConfiguration transportConfig = new TransportConfiguration("org.jboss.messaging.integration.transports.netty.NettyConnectorFactory");
 
       ClientSessionFactory csf = new ClientSessionFactoryImpl(transportConfig);
-      
-      csf.setClientFailureCheckPeriod(CLIENT_FAILURE_CHECK_PERIOD);
+      csf.setClientFailureCheckPeriod(-1);
+      csf.setConnectionTTL(-1);
 
       ClientSession session = csf.createSession(false, true, true);
 
@@ -194,17 +191,13 @@
 
       serverConn.addFailureListener(serverListener);
 
-      Thread.sleep(CLIENT_FAILURE_CHECK_PERIOD * 3);
+      Thread.sleep(ClientSessionFactoryImpl.DEFAULT_CLIENT_FAILURE_CHECK_PERIOD);
 
       assertNull(clientListener.getException());
 
       assertNull(serverListener.getException());
 
-      RemotingConnection serverConn2 = server
-                                                       .getRemotingService()
-                                                       .getConnections()
-                                                       .iterator()
-                                                       .next();
+      RemotingConnection serverConn2 = server.getRemotingService().getConnections().iterator().next();
 
       assertTrue(serverConn == serverConn2);
 
@@ -219,10 +212,10 @@
       TransportConfiguration transportConfig = new TransportConfiguration("org.jboss.messaging.integration.transports.netty.NettyConnectorFactory");
 
       ClientSessionFactoryImpl csf = new ClientSessionFactoryImpl(transportConfig);
-      
+
       csf.setClientFailureCheckPeriod(CLIENT_FAILURE_CHECK_PERIOD);
-      csf.setConnectionTTL((long)(CLIENT_FAILURE_CHECK_PERIOD * 1.5));
-      
+      csf.setConnectionTTL(CLIENT_FAILURE_CHECK_PERIOD * 2);
+
       Listener clientListener = new Listener();
 
       ClientSession session = csf.createSession(false, true, true);
@@ -234,9 +227,9 @@
       RemotingConnectionImpl conn = (RemotingConnectionImpl)((ClientSessionInternal)session).getConnection();
 
       // We need to get it to stop pinging
-      
+
       ((ConnectionManagerImpl)csf.getConnectionManagers()[0]).cancelPingerForConnectionID(conn.getID());
-            
+
       RemotingConnection serverConn = null;
 
       while (serverConn == null)
@@ -258,7 +251,7 @@
 
       serverConn.addFailureListener(serverListener);
 
-      for (int i = 0; i < 40; i++)
+      for (int i = 0; i < 1000; i++)
       {
          // a few tries to avoid a possible race caused by GCs or similar issues
          if (server.getRemotingService().getConnections().isEmpty() && clientListener.getException() != null)
@@ -266,10 +259,8 @@
             break;
          }
 
-         Thread.sleep(CLIENT_FAILURE_CHECK_PERIOD);
+         Thread.sleep(10);
       }
-      
-      Thread.sleep(3 * CLIENT_FAILURE_CHECK_PERIOD);
 
       assertTrue(server.getRemotingService().getConnections().isEmpty());
 
@@ -284,16 +275,16 @@
    }
 
    /*
-   * Test the client triggering failure due to no pong received in time
+   * Test the client triggering failure due to no ping from server received in time
    */
-   public void testClientFailureNoPong() throws Exception
-   {      
+   public void testClientFailureNoServerPing() throws Exception
+   {
       TransportConfiguration transportConfig = new TransportConfiguration("org.jboss.messaging.integration.transports.netty.NettyConnectorFactory");
 
       ClientSessionFactory csf = new ClientSessionFactoryImpl(transportConfig);
-      
+
       csf.setClientFailureCheckPeriod(CLIENT_FAILURE_CHECK_PERIOD);
-      csf.setConnectionTTL((long)(CLIENT_FAILURE_CHECK_PERIOD * 1.5));
+      csf.setConnectionTTL(CLIENT_FAILURE_CHECK_PERIOD * 2);
 
       ClientSession session = csf.createSession(false, true, true);
 
@@ -318,20 +309,34 @@
             Thread.sleep(10);
          }
       }
-      
+
       Listener serverListener = new Listener();
 
       serverConn.addFailureListener(serverListener);
-      
+
       ((RemotingServiceImpl)server.getRemotingService()).cancelPingerForConnectionID(serverConn.getID());
-      
-      Thread.sleep(4 * CLIENT_FAILURE_CHECK_PERIOD);
-      
+
+      for (int i = 0; i < 1000; i++)
+      {
+         // a few tries to avoid a possible race caused by GCs or similar issues
+         if (server.getRemotingService().getConnections().isEmpty() && clientListener.getException() != null)
+         {
+            break;
+         }
+
+         Thread.sleep(10);
+      }
+            
       assertNotNull(clientListener.getException());
-      
-      assertEquals(0, server.getRemotingService().getConnections().size());
+      //Server connection will be closed too, when client closes client side connection after failure is detected
+      assertTrue(server.getRemotingService().getConnections().isEmpty());
 
       session.close();
+
+      tearDown();
+
+      setUp();
+
    }
 
    // Package protected ---------------------------------------------




More information about the jboss-cvs-commits mailing list