Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'.
This commit is contained in:
commit
a292ef0652
|
@ -23,6 +23,7 @@ import java.util.ArrayList;
|
|||
import java.util.List;
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
import org.eclipse.jetty.http.HttpFields;
|
||||
import org.eclipse.jetty.http.HttpVersion;
|
||||
|
@ -311,6 +312,7 @@ public class StreamCloseTest extends AbstractTest
|
|||
@Test
|
||||
public void testFailedSessionClosesIdleStream() throws Exception
|
||||
{
|
||||
AtomicReference<Session> sessionRef = new AtomicReference<>();
|
||||
final CountDownLatch latch = new CountDownLatch(1);
|
||||
final List<Stream> streams = new ArrayList<>();
|
||||
start(new ServerSessionListener.Adapter()
|
||||
|
@ -332,9 +334,7 @@ public class StreamCloseTest extends AbstractTest
|
|||
@Override
|
||||
public void onFailure(Session session, Throwable failure)
|
||||
{
|
||||
Assert.assertEquals(0, session.getStreams().size());
|
||||
for (Stream stream : streams)
|
||||
Assert.assertTrue(stream.isClosed());
|
||||
sessionRef.set(session);
|
||||
latch.countDown();
|
||||
}
|
||||
});
|
||||
|
@ -350,5 +350,13 @@ public class StreamCloseTest extends AbstractTest
|
|||
session.newStream(request2, new Promise.Adapter<>(), new Stream.Listener.Adapter());
|
||||
|
||||
Assert.assertTrue(latch.await(5, TimeUnit.SECONDS));
|
||||
Session serverSession = sessionRef.get();
|
||||
|
||||
// Wait for the server to finish the close activities.
|
||||
Thread.sleep(1000);
|
||||
|
||||
Assert.assertEquals(0, serverSession.getStreams().size());
|
||||
for (Stream stream : streams)
|
||||
Assert.assertTrue(stream.isClosed());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -468,8 +468,8 @@ public abstract class HTTP2Session extends ContainerLifeCycle implements ISessio
|
|||
@Override
|
||||
public void onConnectionFailure(int error, String reason)
|
||||
{
|
||||
close(error, reason, Callback.NOOP);
|
||||
notifyFailure(this, new IOException(String.format("%d/%s", error, reason)));
|
||||
close(error, reason, Callback.NOOP);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in New Issue