nghttpx: Don't send RST_STREAM to h2 backend if backend is disconnected state
This avoid establishing HTTP/2 backend connection again w/o pending request. See GH-431
This commit is contained in:
parent
72f2c4b272
commit
dff2a19950
|
@ -67,14 +67,8 @@ Http2DownstreamConnection::~Http2DownstreamConnection() {
|
|||
error_code = NGHTTP2_INTERNAL_ERROR;
|
||||
}
|
||||
|
||||
if (downstream_->get_downstream_stream_id() != -1) {
|
||||
if (LOG_ENABLED(INFO)) {
|
||||
DCLOG(INFO, this) << "Submit RST_STREAM for DOWNSTREAM:" << downstream_
|
||||
<< ", stream_id="
|
||||
<< downstream_->get_downstream_stream_id()
|
||||
<< ", error_code=" << error_code;
|
||||
}
|
||||
|
||||
if (http2session_->get_state() == Http2Session::CONNECTED &&
|
||||
downstream_->get_downstream_stream_id() != -1) {
|
||||
submit_rst_stream(downstream_, error_code);
|
||||
|
||||
http2session_->consume(downstream_->get_downstream_stream_id(),
|
||||
|
@ -143,7 +137,8 @@ int Http2DownstreamConnection::submit_rst_stream(Downstream *downstream,
|
|||
if (LOG_ENABLED(INFO)) {
|
||||
DCLOG(INFO, this) << "Submit RST_STREAM for DOWNSTREAM:" << downstream
|
||||
<< ", stream_id="
|
||||
<< downstream->get_downstream_stream_id();
|
||||
<< downstream->get_downstream_stream_id()
|
||||
<< ", error_code=" << error_code;
|
||||
}
|
||||
rv = http2session_->submit_rst_stream(
|
||||
downstream->get_downstream_stream_id(), error_code);
|
||||
|
|
Loading…
Reference in New Issue