src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/internal/common/SubscriberWrapper.java
--- a/src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/internal/common/SubscriberWrapper.java Mon Dec 04 16:54:26 2017 +0000
+++ b/src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/internal/common/SubscriberWrapper.java Tue Dec 05 10:07:50 2017 +0000
@@ -211,8 +211,11 @@
Objects.requireNonNull(buffers);
if (complete) {
assert Utils.remaining(buffers) == 0;
- logger.log(Level.DEBUG, "completionAcknowledged");
- if (!upstreamCompleted && !closing())
+ boolean closing = closing();
+ logger.log(Level.DEBUG,
+ "completionAcknowledged upstreamCompleted:%s, downstreamCompleted:%s, closing:%s",
+ upstreamCompleted, downstreamCompleted, closing);
+ if (!upstreamCompleted && !closing)
throw new IllegalStateException("upstream not completed");
completionAcknowledged = true;
} else {
@@ -417,6 +420,7 @@
return;
}
if (completionAcknowledged) {
+ logger.log(Level.DEBUG, "calling downstreamSubscriber.onComplete()");
downstreamSubscriber.onComplete();
// Fix me subscriber.onComplete.run();
downstreamCompleted = true;