399566 Running org.eclipse.jetty.server.session.MaxInactiveMigrationTest produces stack trace

This commit is contained in:
Jan Bartel 2013-01-31 15:41:48 +11:00
parent ac7fbaf62b
commit 9194fe1b7b
34 changed files with 313 additions and 57 deletions

View File

@ -596,6 +596,7 @@ public class JDBCSessionIdManager extends AbstractSessionIdManager
{
if (_task!=null)
_task.cancel();
_task=null;
if (_timer!=null)
_timer.cancel();
_timer=null;

View File

@ -18,6 +18,10 @@
package org.eclipse.jetty.server.session;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.junit.After;
import org.junit.Test;
/**
@ -38,4 +42,16 @@ public class ClientCrossContextSessionTest extends AbstractClientCrossContextSes
{
super.testCrossContextDispatch();
}
@After
public void tearDown() throws Exception
{
try
{
DriverManager.getConnection( "jdbc:derby:sessions;shutdown=true" );
}
catch( SQLException expected )
{
}
}
}

View File

@ -18,6 +18,10 @@
package org.eclipse.jetty.server.session;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.junit.After;
import org.junit.Test;
/**
@ -38,4 +42,16 @@ public class ImmortalSessionTest extends AbstractImmortalSessionTest
{
super.testImmortalSession();
}
@After
public void tearDown() throws Exception
{
try
{
DriverManager.getConnection( "jdbc:derby:sessions;shutdown=true" );
}
catch( SQLException expected )
{
}
}
}

View File

@ -18,6 +18,10 @@
package org.eclipse.jetty.server.session;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.junit.After;
import org.junit.Test;
/**
@ -51,4 +55,17 @@ public class InvalidationSessionTest extends AbstractInvalidationSessionTest
{
super.testInvalidation();
}
@After
public void tearDown() throws Exception
{
try
{
DriverManager.getConnection( "jdbc:derby:sessions;shutdown=true" );
}
catch( SQLException expected )
{
}
}
}

View File

@ -81,6 +81,7 @@ public class JdbcTestServer extends AbstractTestServer
idManager.setScavengeInterval(_scavengePeriod);
idManager.setWorkerName("w"+(__workers++));
idManager.setDriverInfo(DRIVER_CLASS, (config==null?DEFAULT_CONNECTION_URL:config));
//System.err.println("new jdbcidmgr inst="+idManager);
return idManager;
}
}

View File

@ -18,6 +18,10 @@
package org.eclipse.jetty.server.session;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.junit.After;
import org.junit.Test;
/**
@ -36,4 +40,17 @@ public class LastAccessTimeTest extends AbstractLastAccessTimeTest
// Log.getLog().setDebugEnabled(true);
super.testLastAccessTime();
}
@After
public void tearDown() throws Exception
{
try
{
DriverManager.getConnection( "jdbc:derby:sessions;shutdown=true" );
}
catch( SQLException expected )
{
}
}
}

View File

@ -18,6 +18,10 @@
package org.eclipse.jetty.server.session;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.junit.After;
import org.junit.Test;
/**
@ -52,4 +56,16 @@ public class LocalSessionScavengingTest extends AbstractLocalSessionScavengingTe
{
super.testLocalSessionsScavenging();
}
@After
public void tearDown() throws Exception
{
try
{
DriverManager.getConnection( "jdbc:derby:sessions;shutdown=true" );
}
catch( SQLException expected )
{
}
}
}

View File

@ -18,6 +18,10 @@
package org.eclipse.jetty.server.session;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.junit.After;
import org.junit.Test;
/**
@ -38,4 +42,16 @@ public class NewSessionTest extends AbstractNewSessionTest
{
super.testNewSession();
}
@After
public void tearDown() throws Exception
{
try
{
DriverManager.getConnection( "jdbc:derby:sessions;shutdown=true" );
}
catch( SQLException expected )
{
}
}
}

View File

@ -18,6 +18,10 @@
package org.eclipse.jetty.server.session;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.junit.After;
import org.junit.Test;
/**
@ -35,4 +39,16 @@ public class OrphanedSessionTest extends AbstractOrphanedSessionTest
{
super.testOrphanedSession();
}
@After
public void tearDown() throws Exception
{
try
{
DriverManager.getConnection( "jdbc:derby:sessions;shutdown=true" );
}
catch( SQLException expected )
{
}
}
}

View File

@ -18,6 +18,10 @@
package org.eclipse.jetty.server.session;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.junit.After;
import org.junit.Test;
@ -37,4 +41,16 @@ public class ReentrantRequestSessionTest extends AbstractReentrantRequestSession
{
super.testReentrantRequestSession();
}
@After
public void tearDown() throws Exception
{
try
{
DriverManager.getConnection( "jdbc:derby:sessions;shutdown=true" );
}
catch( SQLException expected )
{
}
}
}

View File

@ -18,6 +18,10 @@
package org.eclipse.jetty.server.session;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.junit.After;
import org.junit.Test;
/**
@ -36,4 +40,16 @@ public class ServerCrossContextSessionTest extends AbstractServerCrossContextSes
{
super.testCrossContextDispatch();
}
@After
public void tearDown() throws Exception
{
try
{
DriverManager.getConnection( "jdbc:derby:sessions;shutdown=true" );
}
catch( SQLException expected )
{
}
}
}

View File

@ -18,6 +18,10 @@
package org.eclipse.jetty.server.session;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.junit.After;
import org.junit.Test;
/**
@ -50,5 +54,15 @@ public class SessionExpiryTest extends AbstractSessionExpiryTest
super.testSessionNotExpired();
}
@After
public void tearDown() throws Exception
{
try
{
DriverManager.getConnection( "jdbc:derby:sessions;shutdown=true" );
}
catch( SQLException expected )
{
}
}
}

View File

@ -18,6 +18,10 @@
package org.eclipse.jetty.server.session;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.junit.After;
import org.junit.Test;
/**
@ -36,4 +40,16 @@ public class SessionMigrationTest extends AbstractSessionMigrationTest
{
super.testSessionMigration();
}
@After
public void tearDown() throws Exception
{
try
{
DriverManager.getConnection( "jdbc:derby:sessions;shutdown=true" );
}
catch( SQLException expected )
{
}
}
}

View File

@ -18,6 +18,10 @@
package org.eclipse.jetty.server.session;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.junit.After;
import org.junit.Test;
public class SessionRenewTest extends AbstractSessionRenewTest
@ -35,6 +39,16 @@ public class SessionRenewTest extends AbstractSessionRenewTest
super.testSessionRenewal();
}
@After
public void tearDown() throws Exception
{
try
{
DriverManager.getConnection( "jdbc:derby:sessions;shutdown=true" );
}
catch( SQLException expected )
{
}
}
}

View File

@ -18,6 +18,10 @@
package org.eclipse.jetty.server.session;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.junit.After;
import org.junit.Test;
/**
@ -35,4 +39,16 @@ public class SessionValueSavingTest extends AbstractSessionValueSavingTest
{
super.testSessionValueSaving();
}
@After
public void tearDown() throws Exception
{
try
{
DriverManager.getConnection( "jdbc:derby:sessions;shutdown=true" );
}
catch( SQLException expected )
{
}
}
}

View File

@ -18,6 +18,10 @@
package org.eclipse.jetty.server.session;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.junit.After;
import org.junit.Test;
/**
@ -38,4 +42,18 @@ public class WebAppObjectInSessionTest extends AbstractWebAppObjectInSessionTest
{
super.testWebappObjectInSession();
}
@After
public void tearDown() throws Exception
{
try
{
DriverManager.getConnection( "jdbc:derby:sessions;shutdown=true" );
}
catch( SQLException expected )
{
}
}
}

View File

@ -60,11 +60,12 @@ public abstract class AbstractClientCrossContextSessionTest
TestServletB servletB = new TestServletB();
ServletHolder holderB = new ServletHolder(servletB);
ctxB.addServlet(holderB, servletMapping);
server.start();
int port = server.getPort();
try
{
server.start();
int port = server.getPort();
HttpClient client = new HttpClient();
client.start();
try

View File

@ -52,11 +52,11 @@ public abstract class AbstractImmortalSessionTest
//turn off session expiry by setting maxInactiveInterval to -1
AbstractTestServer server = createServer(0, -1, scavengePeriod);
server.addContext(contextPath).addServlet(TestServlet.class, servletMapping);
server.start();
int port=server.getPort();
try
{
server.start();
int port=server.getPort();
HttpClient client = new HttpClient();
client.start();
try

View File

@ -52,18 +52,19 @@ public abstract class AbstractInvalidationSessionTest
String servletMapping = "/server";
AbstractTestServer server1 = createServer(0);
server1.addContext(contextPath).addServlet(TestServlet.class, servletMapping);
server1.start();
int port1 = server1.getPort();
System.err.println("Port1="+port1);
try
{
server1.start();
int port1 = server1.getPort();
AbstractTestServer server2 = createServer(0);
server2.addContext(contextPath).addServlet(TestServlet.class, servletMapping);
server2.start();
int port2=server2.getPort();
System.err.println("port2="+port2);
try
{
server2.start();
int port2=server2.getPort();
HttpClient client = new HttpClient();
QueuedThreadPool executor = new QueuedThreadPool();
client.setExecutor(executor);

View File

@ -67,16 +67,18 @@ public abstract class AbstractLastAccessTimeTest
TestSessionListener listener1 = new TestSessionListener();
context.addEventListener(listener1);
context.addServlet(holder1, servletMapping);
server1.start();
int port1=server1.getPort();
try
{
server1.start();
int port1=server1.getPort();
AbstractTestServer server2 = createServer(0, maxInactivePeriod, scavengePeriod);
server2.addContext(contextPath).addServlet(TestServlet.class, servletMapping);
server2.start();
int port2=server2.getPort();
try
{
server2.start();
int port2=server2.getPort();
HttpClient client = new HttpClient();
client.start();
try

View File

@ -60,16 +60,18 @@ public abstract class AbstractLightLoadTest
String servletMapping = "/server";
AbstractTestServer server1 = createServer( 0 );
server1.addContext( contextPath ).addServlet( TestServlet.class, servletMapping );
server1.start();
int port1 = server1.getPort();
try
{
server1.start();
int port1 = server1.getPort();
AbstractTestServer server2 = createServer( 0 );
server2.addContext( contextPath ).addServlet( TestServlet.class, servletMapping );
server2.start();
int port2=server2.getPort();
try
{
server2.start();
int port2=server2.getPort();
HttpClient client = new HttpClient();
client.start();
try

View File

@ -63,16 +63,18 @@ public abstract class AbstractLocalSessionScavengingTest
int scavengePeriod = 2;
AbstractTestServer server1 = createServer(0, inactivePeriod, scavengePeriod);
server1.addContext(contextPath).addServlet(TestServlet.class, servletMapping);
server1.start();
int port1 = server1.getPort();
try
{
server1.start();
int port1 = server1.getPort();
AbstractTestServer server2 = createServer(0, inactivePeriod, scavengePeriod * 3);
server2.addContext(contextPath).addServlet(TestServlet.class, servletMapping);
server2.start();
int port2 = server2.getPort();
try
{
server2.start();
int port2 = server2.getPort();
HttpClient client = new HttpClient();
client.start();
try

View File

@ -63,10 +63,11 @@ public abstract class AbstractNewSessionTest
AbstractTestServer server = createServer(0, 1, scavengePeriod);
ServletContextHandler context = server.addContext(contextPath);
context.addServlet(TestServlet.class, servletMapping);
server.start();
int port=server.getPort();
try
{
server.start();
int port=server.getPort();
HttpClient client = new HttpClient();
client.start();
try

View File

@ -56,17 +56,17 @@ public abstract class AbstractOrphanedSessionTest
int inactivePeriod = 5;
AbstractTestServer server1 = createServer(0, inactivePeriod, -1);
server1.addContext(contextPath).addServlet(TestServlet.class, servletMapping);
server1.start();
int port1 = server1.getPort();
try
{
server1.start();
int port1 = server1.getPort();
int scavengePeriod = 2;
AbstractTestServer server2 = createServer(0, inactivePeriod, scavengePeriod);
server2.addContext(contextPath).addServlet(TestServlet.class, servletMapping);
server2.start();
int port2 = server2.getPort();
server2.addContext(contextPath).addServlet(TestServlet.class, servletMapping);
try
{
server2.start();
int port2 = server2.getPort();
HttpClient client = new HttpClient();
client.start();
try

View File

@ -48,10 +48,11 @@ public abstract class AbstractReentrantRequestSessionTest
String servletMapping = "/server";
AbstractTestServer server = createServer(0);
server.addContext(contextPath).addServlet(TestServlet.class, servletMapping);
server.start();
int port = server.getPort();
try
{
server.start();
int port = server.getPort();
HttpClient client = new HttpClient();
client.start();
try

View File

@ -55,10 +55,11 @@ public abstract class AbstractRemoveSessionTest
context.addServlet(TestServlet.class, servletMapping);
TestEventListener testListener = new TestEventListener();
context.getSessionHandler().addEventListener(testListener);
server.start();
int port = server.getPort();
try
{
server.start();
int port = server.getPort();
HttpClient client = new HttpClient();
client.start();
try

View File

@ -56,10 +56,11 @@ public abstract class AbstractServerCrossContextSessionTest
ctxA.addServlet(TestServletA.class, servletMapping);
ServletContextHandler ctxB = server.addContext(contextB);
ctxB.addServlet(TestServletB.class, servletMapping);
server.start();
int port=server.getPort();
try
{
server.start();
int port=server.getPort();
HttpClient client = new HttpClient();
client.start();
try

View File

@ -67,10 +67,12 @@ public abstract class AbstractSessionCookieTest
AbstractTestServer server = createServer(0, 1, scavengePeriod);
ServletContextHandler context = server.addContext(contextPath);
context.addServlet(TestServlet.class, servletMapping);
server.start();
int port=server.getPort();
try
{
server.start();
int port=server.getPort();
HttpClient client = new HttpClient();
client.start();
try

View File

@ -62,12 +62,13 @@ public abstract class AbstractSessionExpiryTest
TestServlet servlet = new TestServlet();
ServletHolder holder = new ServletHolder(servlet);
server1.addContext(contextPath).addServlet(holder, servletMapping);
server1.start();
int port1 = server1.getPort();
HttpClient client = new HttpClient();
try
{
HttpClient client = new HttpClient();
server1.start();
int port1 = server1.getPort();
client.start();
String url = "http://localhost:" + port1 + contextPath + servletMapping;
@ -96,6 +97,7 @@ public abstract class AbstractSessionExpiryTest
}
finally
{
client.stop();
server1.stop();
}
}

View File

@ -100,10 +100,12 @@ public abstract class AbstractSessionInvalidateAndCreateTest
context.addServlet(holder, servletMapping);
MySessionListener listener = new MySessionListener();
context.getSessionHandler().addEventListener(listener);
server.start();
int port1 = server.getPort();
try
{
server.start();
int port1 = server.getPort();
HttpClient client = new HttpClient();
client.start();
try

View File

@ -49,16 +49,20 @@ public abstract class AbstractSessionMigrationTest
String servletMapping = "/server";
AbstractTestServer server1 = createServer(0);
server1.addContext(contextPath).addServlet(TestServlet.class, servletMapping);
server1.start();
int port1=server1.getPort();
try
{
server1.start();
int port1=server1.getPort();
AbstractTestServer server2 = createServer(0);
server2.addContext(contextPath).addServlet(TestServlet.class, servletMapping);
server2.start();
int port2=server2.getPort();
try
{
server2.start();
int port2=server2.getPort();
HttpClient client = new HttpClient();
client.start();
try

View File

@ -51,12 +51,14 @@ public abstract class AbstractSessionRenewTest
AbstractTestServer server = createServer(0, 1, scavengePeriod);
ServletContextHandler context = server.addContext(contextPath);
context.addServlet(TestServlet.class, servletMapping);
server.start();
int port=server.getPort();
HttpClient client = new HttpClient();
try
{
server.start();
int port=server.getPort();
client.start();
//make a request to create a session
@ -78,6 +80,7 @@ public abstract class AbstractSessionRenewTest
finally
{
client.stop();
server.stop();
}
}

View File

@ -52,11 +52,12 @@ public abstract class AbstractSessionValueSavingTest
int scavengePeriod = 20000;
AbstractTestServer server1 = createServer(0, maxInactivePeriod, scavengePeriod);
server1.addContext(contextPath).addServlet(TestServlet.class, servletMapping);
server1.start();
int port1=server1.getPort();
try
{
server1.start();
int port1=server1.getPort();
HttpClient client = new HttpClient();
client.start();
try

View File

@ -96,16 +96,20 @@ public abstract class AbstractWebAppObjectInSessionTest
AbstractTestServer server1 = createServer(0);
server1.addWebAppContext(warDir.getCanonicalPath(), contextPath).addServlet(WebAppObjectInSessionServlet.class.getName(), servletMapping);
server1.start();
int port1 = server1.getPort();
try
{
server1.start();
int port1 = server1.getPort();
AbstractTestServer server2 = createServer(0);
server2.addWebAppContext(warDir.getCanonicalPath(), contextPath).addServlet(WebAppObjectInSessionServlet.class.getName(), servletMapping);
server2.start();
int port2 = server2.getPort();
try
{
server2.start();
int port2 = server2.getPort();
HttpClient client = new HttpClient();
client.start();
try