[PATCH] HTTP/2: add logging of RST_STREAM frames with NO_ERROR code

Valentin V. Bartenev vbart at nginx.com
Tue Mar 28 17:35:40 UTC 2017


On Sunday 26 March 2017 01:41:20 Piotr Sikora via nginx-devel wrote:
> # HG changeset patch
> # User Piotr Sikora <piotrsikora at google.com>
> # Date 1490516710 25200
> #      Sun Mar 26 01:25:10 2017 -0700
> # Node ID 31dfcde3ea2ccf1a2dbd2601ebe8f4306887fc0f
> # Parent  22be63bf21edaa1b8ea916c7d8cd4e5fe4892061
> HTTP/2: add logging of RST_STREAM frames with NO_ERROR code.
> 
> Signed-off-by: Piotr Sikora <piotrsikora at google.com>
> 
> diff -r 22be63bf21ed -r 31dfcde3ea2c src/http/v2/ngx_http_v2.c
> --- a/src/http/v2/ngx_http_v2.c
> +++ b/src/http/v2/ngx_http_v2.c
> @@ -1916,6 +1916,11 @@ ngx_http_v2_state_rst_stream(ngx_http_v2
>  
>      switch (status) {
>  
> +    case NGX_HTTP_V2_NO_ERROR:
> +        ngx_log_error(NGX_LOG_INFO, fc->log, 0,
> +                      "client closed stream %ui", h2c->state.sid);
> +        break;
> +
>      case NGX_HTTP_V2_CANCEL:
>          ngx_log_error(NGX_LOG_INFO, fc->log, 0,
>                        "client canceled stream %ui", h2c->state.sid);

Currently such frames are logged with message:

  "client terminated stream %ui with status 0"

Could you explain why NO_ERROR needs special handling here?

I haven't found in RFC mentions about cases in which clients can
send RST_STREAM with NO_ERROR.

  wbr, Valentin V. Bartenev



More information about the nginx-devel mailing list