[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