aboutsummaryrefslogtreecommitdiffstats
path: root/jdisc_http_service
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@yahoo-inc.com>2016-11-05 11:46:13 +0100
committerBjørn Christian Seime <bjorncs@yahoo-inc.com>2016-11-05 11:46:13 +0100
commite7c767a876a9222454086ccfc1a80e27859b28f0 (patch)
treef2788dfa1839d54f2b3d1a39aa8fcd99c589e3b4 /jdisc_http_service
parentce61ad2160f2a9426081d8fb55df2c82775020cc (diff)
Revert "Assert servlet input/output streams are in ready state before completion"
This reverts commit 973146fc7a848c7f38d86ecda0c00cdc54583930.
Diffstat (limited to 'jdisc_http_service')
-rw-r--r--jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/ServletOutputStreamWriter.java5
-rw-r--r--jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/ServletRequestReader.java32
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();
}
};