diff options
author | Bjørn Christian Seime <bjorncs@yahoo-inc.com> | 2016-11-05 11:46:13 +0100 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@yahoo-inc.com> | 2016-11-05 11:46:13 +0100 |
commit | e7c767a876a9222454086ccfc1a80e27859b28f0 (patch) | |
tree | f2788dfa1839d54f2b3d1a39aa8fcd99c589e3b4 /jdisc_http_service | |
parent | ce61ad2160f2a9426081d8fb55df2c82775020cc (diff) |
Revert "Assert servlet input/output streams are in ready state before completion"
This reverts commit 973146fc7a848c7f38d86ecda0c00cdc54583930.
Diffstat (limited to 'jdisc_http_service')
2 files changed, 11 insertions, 26 deletions
diff --git a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/ServletOutputStreamWriter.java b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/ServletOutputStreamWriter.java index c2eb924fb1f..228db17d5fc 100644 --- a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/ServletOutputStreamWriter.java +++ b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/ServletOutputStreamWriter.java @@ -179,11 +179,6 @@ public class ServletOutputStreamWriter { } assert !Thread.holdsLock(monitor); - if (!outputStream.isReady()) { - String msg = "ServletInputStream not ready!"; - log.severe(msg); - throw new IllegalStateException(msg); - } if (e.isPresent()) { finishedFuture.completeExceptionally(e.get()); } else { diff --git a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/ServletRequestReader.java b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/ServletRequestReader.java index f08221310a3..df91037d103 100644 --- a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/ServletRequestReader.java +++ b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/ServletRequestReader.java @@ -135,7 +135,7 @@ class ServletRequestReader implements ReadListener { requestContentChannel.write(buf, writeCompletionHandler); metricReporter.successfulRead(bytesReceived); } catch (final Throwable t) { - completeWithFailure(t); + finishedFuture.completeExceptionally(t); } finally { //decrease due to this method completing. decreaseOutstandingUserCallsAndCloseRequestContentChannelConditionally(); @@ -220,7 +220,7 @@ class ServletRequestReader implements ReadListener { @Override public void failed(final Throwable t) { - completeWithFailure(t); + finishedFuture.completeExceptionally(t); } }; @@ -228,33 +228,23 @@ class ServletRequestReader implements ReadListener { requestContentChannel.close(closeCompletionHandler); //if close did not cause an exception, // is it safe to pipe the result of the completionHandlerInvokedFuture into finishedFuture - completedCalledFuture.whenComplete((ignoredResult, ignoredThrowable) -> completeWithSuccess()); + completedCalledFuture.whenComplete(this::setFinishedFuture); } catch (final Throwable t) { - completeWithFailure(t); + finishedFuture.completeExceptionally(t); } } - private void completeWithSuccess() { - verifyInputStreamState(); - finishedFuture.complete(null); - } - - private void completeWithFailure(Throwable throwable) { - verifyInputStreamState(); - finishedFuture.completeExceptionally(throwable); - } - - private void verifyInputStreamState() { - if (!servletInputStream.isReady()) { - String msg = "ServletInputStream not ready!"; - log.severe(msg); - throw new IllegalStateException(msg); + private void setFinishedFuture(Void result, Throwable throwable) { + if (throwable != null) { + finishedFuture.completeExceptionally(throwable); + } else { + finishedFuture.complete(null); } } @Override public void onError(final Throwable t) { - completeWithFailure(t); + finishedFuture.completeExceptionally(t); doneReading(); } @@ -266,7 +256,7 @@ class ServletRequestReader implements ReadListener { @Override public void failed(final Throwable t) { - completeWithFailure(t); + finishedFuture.completeExceptionally(t); decreaseOutstandingUserCallsAndCloseRequestContentChannelConditionally(); } }; |