diff options
Diffstat (limited to 'container-core/src/main/java/com')
5 files changed, 11 insertions, 3 deletions
diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/HttpRequest.java b/container-core/src/main/java/com/yahoo/jdisc/http/HttpRequest.java index 0b5e9ddde58..8fb711c34ed 100644 --- a/container-core/src/main/java/com/yahoo/jdisc/http/HttpRequest.java +++ b/container-core/src/main/java/com/yahoo/jdisc/http/HttpRequest.java @@ -52,7 +52,7 @@ public class HttpRequest extends Request implements ServletOrJdiscHttpRequest { private final String str; - private Version(String str) { + Version(String str) { this.str = str; } @@ -96,7 +96,7 @@ public class HttpRequest extends Request implements ServletOrJdiscHttpRequest { } else { this.connectedAt = creationTime(TimeUnit.MILLISECONDS); } - } catch (RuntimeException e) { + } catch (Throwable e) { release(); throw e; } @@ -110,7 +110,7 @@ public class HttpRequest extends Request implements ServletOrJdiscHttpRequest { this.remoteAddress = null; this.parameters.putAll(getUriQueryParameters(uri)); this.connectedAt = creationTime(TimeUnit.MILLISECONDS); - } catch (RuntimeException e) { + } catch (Throwable e) { release(); throw e; } diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/filter/DiscFilterRequest.java b/container-core/src/main/java/com/yahoo/jdisc/http/filter/DiscFilterRequest.java index 72068bd2dd5..6ed82319544 100644 --- a/container-core/src/main/java/com/yahoo/jdisc/http/filter/DiscFilterRequest.java +++ b/container-core/src/main/java/com/yahoo/jdisc/http/filter/DiscFilterRequest.java @@ -65,6 +65,7 @@ public abstract class DiscFilterRequest { return parent.getUri(); } + @Deprecated public abstract void setUri(URI uri); public HttpRequest getParentRequest() { @@ -313,6 +314,7 @@ public abstract class DiscFilterRequest { return getUri().getScheme(); } + @Deprecated public void setScheme(String scheme, boolean isSecure) { String uri = getUri().toString(); String arr [] = uri.split("://"); diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/filter/JdiscFilterRequest.java b/container-core/src/main/java/com/yahoo/jdisc/http/filter/JdiscFilterRequest.java index f8d9e6b2642..d61644b65e7 100644 --- a/container-core/src/main/java/com/yahoo/jdisc/http/filter/JdiscFilterRequest.java +++ b/container-core/src/main/java/com/yahoo/jdisc/http/filter/JdiscFilterRequest.java @@ -33,6 +33,7 @@ public class JdiscFilterRequest extends DiscFilterRequest { return parent; } + @Deprecated public void setUri(URI uri) { parent.setUri(uri); } diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/filter/ServletFilterRequest.java b/container-core/src/main/java/com/yahoo/jdisc/http/filter/ServletFilterRequest.java index f06f9e256ff..4cf3cdde650 100644 --- a/container-core/src/main/java/com/yahoo/jdisc/http/filter/ServletFilterRequest.java +++ b/container-core/src/main/java/com/yahoo/jdisc/http/filter/ServletFilterRequest.java @@ -32,6 +32,7 @@ class ServletFilterRequest extends DiscFilterRequest { return parent; } + @Deprecated public void setUri(URI uri) { parent.setUri(uri); } diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/HttpRequestDispatch.java b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/HttpRequestDispatch.java index 6b206116de8..0b7e27b9598 100644 --- a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/HttpRequestDispatch.java +++ b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/HttpRequestDispatch.java @@ -197,6 +197,7 @@ class HttpRequestDispatch { requestContentChannel = requestHandler.handleRequest(jdiscRequest, servletResponseController.responseHandler); } + //TODO If the below method throws requestContentChannel will not be close and there is a reference leak ServletInputStream servletInputStream = jettyRequest.getInputStream(); ServletRequestReader servletRequestReader = new ServletRequestReader(servletInputStream, @@ -204,6 +205,9 @@ class HttpRequestDispatch { jDiscContext.janitor, metricReporter); + //TODO If the below method throws servletRequestReader will not complete and + // requestContentChannel will not be closed and there is a reference leak + // Ditto for the servletInputStream servletInputStream.setReadListener(servletRequestReader); return servletRequestReader; } |