[
https://issues.apache.org/jira/browse/TS-4218?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15300881#comment-15300881
]
Masaori Koshiba commented on TS-4218:
-------------------------------------
I see this failure about 25 times in 100 tries.
- debug logs
{code}
[May 26 06:19:46.075] Server {0x7ffff7fe7740} DEBUG:
<Http2ConnectionState.cc:1217 (send_settings_frame)> (http2_con) [0] [0] Send
SETTINGS frame
[May 26 06:19:46.076] Server {0x7ffff7fe7740} DEBUG:
<Http2ConnectionState.cc:1245 (send_settings_frame)> (http2_con) [0] [0]
MAX_CONCURRENT_STREAMS : 100
[May 26 06:19:46.076] Server {0x7ffff7fe7740} DEBUG:
<Http2ConnectionState.cc:1245 (send_settings_frame)> (http2_con) [0] [0]
INITIAL_WINDOW_SIZE : 1048576
[May 26 06:19:46.076] Server {0x7ffff7fe7740} DEBUG:
<Http2ConnectionState.cc:1301 (send_window_update_frame)> (http2_con) [0] [0]
Send WINDOW_UPDATE frame
[May 26 06:19:46.076] Server {0x7ffff7fe7740} DEBUG:
<Http2ConnectionState.cc:442 (rcv_settings_frame)> (http2_con) [0] [0] Received
SETTINGS frame
[May 26 06:19:46.077] Server {0x7ffff7fe7740} DEBUG:
<Http2ConnectionState.cc:442 (rcv_settings_frame)> (http2_con) [0] [0] Received
SETTINGS frame
[May 26 06:19:46.077] Server {0x7ffff7fe7740} DEBUG:
<Http2ConnectionState.cc:188 (rcv_headers_frame)> (http2_con) [0] [1] Received
HEADERS frame
[May 26 06:19:46.078] Server {0x7ffff7fe7740} DEBUG:
<Http2ConnectionState.cc:1123 (send_headers_frame)> (http2_con) [0] [1] Send
HEADERS frame
[May 26 06:19:46.078] Server {0x7ffff7fe7740} DEBUG:
<Http2ConnectionState.cc:1067 (send_a_data_frame)> (http2_con) [0] [1] Send a
DATA frame - client window con: 65258 stream: 65258 payload: 277
[May 26 06:19:46.078] Server {0x7ffff7fe7740} DEBUG:
<Http2ConnectionState.cc:1078 (send_a_data_frame)> (http2_con) [0] [1] End of
DATA frame
[May 26 06:19:46.078] Server {0x7ffff7fe7740} DEBUG:
<Http2ConnectionState.cc:1067 (send_a_data_frame)> (http2_con) [0] [1] Send a
DATA frame - client window con: 65258 stream: 65258 payload: 0
[May 26 06:19:46.078] Server {0x7ffff7fe7740} DEBUG:
<Http2ConnectionState.cc:1078 (send_a_data_frame)> (http2_con) [0] [1] End of
DATA frame
[May 26 06:19:46.079] Server {0x7ffff7fe7740} DEBUG:
<Http2ConnectionState.cc:75 (rcv_data_frame)> (http2_con) [0] [1] Received DATA
frame
[May 26 06:19:46.079] Server {0x7ffff7fe7740} DEBUG:
<Http2ConnectionState.cc:1186 (send_rst_stream_frame)> (http2_con) [0] [1] Send
RST_STREAM frame
[May 26 06:19:46.079] Server {0x7ffff7fe7740} DEBUG:
<Http2ConnectionState.cc:188 (rcv_headers_frame)> (http2_con) [0] [1] Received
HEADERS frame
[May 26 06:19:46.079] Server {0x7ffff7fe7740} DEBUG:
<Http2ConnectionState.cc:1186 (send_rst_stream_frame)> (http2_con) [0] [1] Send
RST_STREAM frame
{code}
- frame dumps using h2a
https://paste.apache.org/gbfe
It looks like TS sends responses and close the stream immediately before second
HEADERS frame is received.
And TS sends 2 DATA frames with END_STREAM flag.
So the root cause is TS doesn't support Trailing HEADERS and TS-3812 will fix
this.
> Intermittent HTTP/2 failure with h2spec (8.1.)
> ----------------------------------------------
>
> Key: TS-4218
> URL: https://issues.apache.org/jira/browse/TS-4218
> Project: Traffic Server
> Issue Type: Bug
> Components: HTTP/2
> Reporter: Masaori Koshiba
> Fix For: 7.0.0
>
>
> Sometimes I see a test for {{8.1. HTTP Request/Response Exchange}} in h2spec
> is failed.
> - h2spec : v1.3.1
> - ATS master (9c707a89d58f0b635cc3c2070025ba08161beec0)
> {noformat}
> 8.1. HTTP Request/Response Exchange
> × Sends a second HEADERS frame without the END_STREAM flag
> - The endpoint MUST respond with a stream error of type PROTOCOL_ERROR.
> Expected: GOAWAY frame (ErrorCode: PROTOCOL_ERROR)
> RST_STREAM frame (ErrorCode: PROTOCOL_ERROR)
> Connection close
> Actual: RST_STREAM frame (Length: 4, Flags: 0, ErrorCode:
> STREAM_CLOSED)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)