Skip to content

NodeJs 12.11.1 NGHTTP2_ENHANCE_YOUR_CALM  #29907

Closed
@crystalin

Description

  • Version: 12.11.1
  • Platform: Docker 12.11-alpine (on Ubuntu)

This is a regression (or a feature?) compared to 12.7

When performing a consequent amount of request on an http2 connection, using 12.11 I reach this error:
Error [ERR_HTTP2_STREAM_ERROR]: Stream closed with error code NGHTTP2_ENHANCE_YOUR_CALM at ClientHttp2Stream._destroy (internal/http2/core.js:2098:13) at ClientHttp2Stream.destroy (internal/streams/destroy.js:37:8) at ClientHttp2Stream.[kMaybeDestroy] (internal/http2/core.js:2114:12) at Http2Stream.onStreamClose (internal/http2/core.js:491:26)

This doesn't happen on 12.7 under the same condition with the same code.
This happens when the amount of concurrent stream is almost at the limit agreed between the 2 peers (128 in my case).
This happens when the amount of request is high but the number of concurrent stream is lower than the limit (~10 concurrent stream, with a limit of 128)

I believe this was handled correctly in 12.7 by keeping the request in the queue, but in 12.11 it seems to push it over the limit and the peer returns the NGHTTP2_ENHANCE_YOUR_CALM error.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    http2Issues or PRs related to the http2 subsystem.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions