Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
This commit is contained in:
commit
42e46aee49
|
@ -395,12 +395,15 @@ public class HpackContext
|
||||||
{
|
{
|
||||||
if (LOG.isDebugEnabled())
|
if (LOG.isDebugEnabled())
|
||||||
LOG.debug(String.format("HdrTbl[%x] evictAll", HpackContext.this.hashCode()));
|
LOG.debug(String.format("HdrTbl[%x] evictAll", HpackContext.this.hashCode()));
|
||||||
_fieldMap.clear();
|
if (size() > 0)
|
||||||
_nameMap.clear();
|
{
|
||||||
_offset = 0;
|
_fieldMap.clear();
|
||||||
_size = 0;
|
_nameMap.clear();
|
||||||
_dynamicTableSizeInBytes = 0;
|
_offset = 0;
|
||||||
Arrays.fill(_entries, null);
|
_size = 0;
|
||||||
|
_dynamicTableSizeInBytes = 0;
|
||||||
|
Arrays.fill(_entries, null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -467,7 +467,7 @@ public abstract class AbstractSessionCache extends ContainerLifeCycle implements
|
||||||
{
|
{
|
||||||
//only write the session out at this point if the attributes changed. If only
|
//only write the session out at this point if the attributes changed. If only
|
||||||
//the lastAccess/expiry time changed defer the write until the last request exits
|
//the lastAccess/expiry time changed defer the write until the last request exits
|
||||||
if (session.getSessionData().isDirty() && _flushOnResponseCommit)
|
if (session.isValid() && session.getSessionData().isDirty() && _flushOnResponseCommit)
|
||||||
{
|
{
|
||||||
if (LOG.isDebugEnabled())
|
if (LOG.isDebugEnabled())
|
||||||
LOG.debug("Flush session {} on response commit", session);
|
LOG.debug("Flush session {} on response commit", session);
|
||||||
|
|
|
@ -54,6 +54,7 @@ public class RemoveSessionTest
|
||||||
String servletMapping = "/server";
|
String servletMapping = "/server";
|
||||||
|
|
||||||
DefaultSessionCacheFactory cacheFactory = new DefaultSessionCacheFactory();
|
DefaultSessionCacheFactory cacheFactory = new DefaultSessionCacheFactory();
|
||||||
|
cacheFactory.setFlushOnResponseCommit(true);
|
||||||
cacheFactory.setEvictionPolicy(SessionCache.NEVER_EVICT);
|
cacheFactory.setEvictionPolicy(SessionCache.NEVER_EVICT);
|
||||||
SessionDataStoreFactory storeFactory = new TestSessionDataStoreFactory();
|
SessionDataStoreFactory storeFactory = new TestSessionDataStoreFactory();
|
||||||
|
|
||||||
|
@ -93,6 +94,9 @@ public class RemoveSessionTest
|
||||||
assertEquals(0, ((DefaultSessionCache)m.getSessionCache()).getSessionsCurrent());
|
assertEquals(0, ((DefaultSessionCache)m.getSessionCache()).getSessionsCurrent());
|
||||||
assertEquals(1, ((DefaultSessionCache)m.getSessionCache()).getSessionsMax());
|
assertEquals(1, ((DefaultSessionCache)m.getSessionCache()).getSessionsMax());
|
||||||
assertEquals(1, ((DefaultSessionCache)m.getSessionCache()).getSessionsTotal());
|
assertEquals(1, ((DefaultSessionCache)m.getSessionCache()).getSessionsTotal());
|
||||||
|
|
||||||
|
//check the session is no longer in the cache
|
||||||
|
assertFalse(((AbstractSessionCache)m.getSessionCache()).contains(TestServer.extractSessionId(sessionCookie)));
|
||||||
|
|
||||||
//check the session is not persisted any more
|
//check the session is not persisted any more
|
||||||
assertFalse(m.getSessionCache().getSessionDataStore().exists(TestServer.extractSessionId(sessionCookie)));
|
assertFalse(m.getSessionCache().getSessionDataStore().exists(TestServer.extractSessionId(sessionCookie)));
|
||||||
|
@ -125,7 +129,8 @@ public class RemoveSessionTest
|
||||||
String action = request.getParameter("action");
|
String action = request.getParameter("action");
|
||||||
if ("create".equals(action))
|
if ("create".equals(action))
|
||||||
{
|
{
|
||||||
request.getSession(true);
|
HttpSession s = request.getSession(true);
|
||||||
|
s.setAttribute("foo", "bar");
|
||||||
}
|
}
|
||||||
else if ("delete".equals(action))
|
else if ("delete".equals(action))
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue