Merge remote-tracking branch 'origin/jetty-9.4.x'
This commit is contained in:
commit
04dae709fc
|
@ -63,6 +63,7 @@ import org.eclipse.jetty.http.HttpHeader;
|
||||||
import org.eclipse.jetty.http.HttpHeaderValue;
|
import org.eclipse.jetty.http.HttpHeaderValue;
|
||||||
import org.eclipse.jetty.http.HttpStatus;
|
import org.eclipse.jetty.http.HttpStatus;
|
||||||
import org.eclipse.jetty.io.RuntimeIOException;
|
import org.eclipse.jetty.io.RuntimeIOException;
|
||||||
|
import org.eclipse.jetty.server.HttpChannel;
|
||||||
import org.eclipse.jetty.server.HttpConfiguration;
|
import org.eclipse.jetty.server.HttpConfiguration;
|
||||||
import org.eclipse.jetty.server.HttpConnectionFactory;
|
import org.eclipse.jetty.server.HttpConnectionFactory;
|
||||||
import org.eclipse.jetty.server.Server;
|
import org.eclipse.jetty.server.Server;
|
||||||
|
@ -517,6 +518,8 @@ public class AsyncMiddleManServletTest
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testUpstreamTransformationThrowsAfterCommittingProxyRequest() throws Exception
|
public void testUpstreamTransformationThrowsAfterCommittingProxyRequest() throws Exception
|
||||||
|
{
|
||||||
|
try (StacklessLogging scope = new StacklessLogging(HttpChannel.class))
|
||||||
{
|
{
|
||||||
startServer(new EchoHttpServlet());
|
startServer(new EchoHttpServlet());
|
||||||
startProxy(new AsyncMiddleManServlet()
|
startProxy(new AsyncMiddleManServlet()
|
||||||
|
@ -562,6 +565,7 @@ public class AsyncMiddleManServletTest
|
||||||
|
|
||||||
Assert.assertTrue(latch.await(5, TimeUnit.SECONDS));
|
Assert.assertTrue(latch.await(5, TimeUnit.SECONDS));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testDownstreamTransformationThrowsAtOnContent() throws Exception
|
public void testDownstreamTransformationThrowsAtOnContent() throws Exception
|
||||||
|
@ -790,6 +794,8 @@ public class AsyncMiddleManServletTest
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testClientRequestReadFailsOnSecondRead() throws Exception
|
public void testClientRequestReadFailsOnSecondRead() throws Exception
|
||||||
|
{
|
||||||
|
try (StacklessLogging scope = new StacklessLogging(HttpChannel.class))
|
||||||
{
|
{
|
||||||
startServer(new EchoHttpServlet());
|
startServer(new EchoHttpServlet());
|
||||||
startProxy(new AsyncMiddleManServlet()
|
startProxy(new AsyncMiddleManServlet()
|
||||||
|
@ -827,6 +833,7 @@ public class AsyncMiddleManServletTest
|
||||||
|
|
||||||
Assert.assertTrue(latch.await(5, TimeUnit.SECONDS));
|
Assert.assertTrue(latch.await(5, TimeUnit.SECONDS));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testProxyResponseWriteFailsOnFirstWrite() throws Exception
|
public void testProxyResponseWriteFailsOnFirstWrite() throws Exception
|
||||||
|
|
|
@ -842,7 +842,7 @@ public class HttpInput extends ServletInputStream implements Runnable
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (content==null)
|
else if (content==null)
|
||||||
throw new IllegalStateException();
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,6 @@ import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.net.Socket;
|
import java.net.Socket;
|
||||||
import java.nio.channels.SelectionKey;
|
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -50,7 +49,6 @@ import javax.servlet.http.HttpServletResponse;
|
||||||
import org.eclipse.jetty.http.HttpStatus;
|
import org.eclipse.jetty.http.HttpStatus;
|
||||||
import org.eclipse.jetty.io.ByteBufferPool;
|
import org.eclipse.jetty.io.ByteBufferPool;
|
||||||
import org.eclipse.jetty.io.LeakTrackingByteBufferPool;
|
import org.eclipse.jetty.io.LeakTrackingByteBufferPool;
|
||||||
import org.eclipse.jetty.io.ManagedSelector;
|
|
||||||
import org.eclipse.jetty.io.MappedByteBufferPool;
|
import org.eclipse.jetty.io.MappedByteBufferPool;
|
||||||
import org.eclipse.jetty.server.handler.AbstractHandler;
|
import org.eclipse.jetty.server.handler.AbstractHandler;
|
||||||
import org.eclipse.jetty.toolchain.test.MavenTestingUtils;
|
import org.eclipse.jetty.toolchain.test.MavenTestingUtils;
|
||||||
|
@ -245,30 +243,6 @@ public class ThreadStarvationTest
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// new Thread(()->{
|
|
||||||
// try
|
|
||||||
// {
|
|
||||||
// TimeUnit.SECONDS.sleep(10);
|
|
||||||
//
|
|
||||||
// ServerConnector conn = _server.getBean(ServerConnector.class);
|
|
||||||
// ManagedSelector ms = conn.getSelectorManager().getBean(ManagedSelector.class);
|
|
||||||
//
|
|
||||||
// Selector sel = ms.getSelector();
|
|
||||||
// sel.keys().stream().map((key)->key.attachment()).forEach(
|
|
||||||
// (attach) -> {
|
|
||||||
// System.out.println(attach);
|
|
||||||
// SocketChannelEndPoint endp = (SocketChannelEndPoint) attach;
|
|
||||||
// SslConnection sslconn = (SslConnection) endp.getConnection();
|
|
||||||
// sslconn.dumpBuffers();
|
|
||||||
// });
|
|
||||||
//
|
|
||||||
// _server.dump(System.out, "");
|
|
||||||
// }
|
|
||||||
// catch (Throwable ignore)
|
|
||||||
// {
|
|
||||||
// }
|
|
||||||
// }).start();
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
List<Future<String>> responses = clientExecutors.invokeAll(clientTasks, 60, TimeUnit.SECONDS);
|
List<Future<String>> responses = clientExecutors.invokeAll(clientTasks, 60, TimeUnit.SECONDS);
|
||||||
|
|
|
@ -46,7 +46,7 @@ public class StacklessLogging implements AutoCloseable
|
||||||
{
|
{
|
||||||
Logger log = Log.getLogger(clazz);
|
Logger log = Log.getLogger(clazz);
|
||||||
// only operate on loggers that are of type StdErrLog
|
// only operate on loggers that are of type StdErrLog
|
||||||
if (log instanceof StdErrLog)
|
if (log instanceof StdErrLog && !log.isDebugEnabled())
|
||||||
{
|
{
|
||||||
StdErrLog stdErrLog=((StdErrLog)log);
|
StdErrLog stdErrLog=((StdErrLog)log);
|
||||||
if (!stdErrLog.isHideStacks())
|
if (!stdErrLog.isHideStacks())
|
||||||
|
@ -63,7 +63,7 @@ public class StacklessLogging implements AutoCloseable
|
||||||
for (Logger log : logs)
|
for (Logger log : logs)
|
||||||
{
|
{
|
||||||
// only operate on loggers that are of type StdErrLog
|
// only operate on loggers that are of type StdErrLog
|
||||||
if (log instanceof StdErrLog)
|
if (log instanceof StdErrLog && !log.isDebugEnabled())
|
||||||
{
|
{
|
||||||
StdErrLog stdErrLog=((StdErrLog)log);
|
StdErrLog stdErrLog=((StdErrLog)log);
|
||||||
if (!stdErrLog.isHideStacks())
|
if (!stdErrLog.isHideStacks())
|
||||||
|
|
Loading…
Reference in New Issue