Skip to content

http connection manager proto: raise max_request_headers_kb limit to 8192 KiB (8MiB) from 96 KiB#15921

Merged
alyssawilk merged 6 commits intoenvoyproxy:mainfrom
anirudhaps:raise_max_request_headers_kb_limit
Apr 27, 2021
Merged

http connection manager proto: raise max_request_headers_kb limit to 8192 KiB (8MiB) from 96 KiB#15921
alyssawilk merged 6 commits intoenvoyproxy:mainfrom
anirudhaps:raise_max_request_headers_kb_limit

Conversation

@anirudhaps
Copy link
Contributor

Signed-off-by: Anirudha Singh ps.anirudha@gmail.com

Commit Message:
Raise max configurable max_request_headers_kb limit to 8192 KiB (8MiB) from 96 KiB in http connection manager protobuf.

Additional Description:
Added/Updated relevant unit tests and integration tests. This change will allow increasing max_request_headers_kb to 8MiB from http connection manager's configuration. The change is mainly updating the limit in a validation check in the protobuf. Also, the old (merged) PR #5859 is read, no nghttp2 library-related issues are observed on raising the max_request_headers_kb beyond 96 KiB.
Risk Level: Low
Testing: Unit, Integration, Manual
Docs Changes: Inline in proto file.

… KiB in http connection manager proto.

Add/Update relevant unit tests and integration tests.

Signed-off-by: Anirudha Singh <ps.anirudha@gmail.com>
@repokitteh-read-only
Copy link

Hi @anirudhaps, welcome and thank you for your contribution.

We will try to review your Pull Request as quickly as possible.

In the meantime, please take a look at the contribution guidelines if you have not done so already.

🐱

Caused by: #15921 was opened by anirudhaps.

see: more, trace.

@repokitteh-read-only
Copy link

CC @envoyproxy/api-shepherds: Your approval is needed for changes made to (api/envoy[\w/]*/(v1alpha\d?|v1|v2alpha\d?|v2))|(api/envoy/type/(matcher/)?\w+.proto).
CC @envoyproxy/api-shepherds: Your approval is needed for changes made to api/envoy/.
envoyproxy/api-shepherds assignee is @htuch
CC @envoyproxy/api-watchers: FYI only for changes made to api/envoy/.

🐱

Caused by: #15921 was opened by anirudhaps.

see: more, trace.

@alyssawilk
Copy link
Contributor

cc @auni53 can you remind me what the implementation constraints were? I thought one of the parsers didn't support larger headers so maybe it has been addressed?

…aders case.

Signed-off-by: Anirudha Singh <ps.anirudha@gmail.com>
@antoniovicente
Copy link
Contributor

cc @auni53 can you remind me what the implementation constraints were? I thought one of the parsers didn't support larger headers so maybe it has been addressed?

I thought there was a limitation in the H1 parser but e2e tests do suggest that this works e2e for H1 and H2.

Copy link
Contributor

@alyssawilk alyssawilk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good - just one (maybe two pending CI) nits :-)

@htuch
Copy link
Member

htuch commented Apr 14, 2021

Will this work with llhttp for H1 parser? CC @asraa

…aders rejected test case.

Add release notes for these changes.

Signed-off-by: Anirudha Singh <ps.anirudha@gmail.com>
Signed-off-by: Anirudha Singh <ps.anirudha@gmail.com>
alyssawilk
alyssawilk previously approved these changes Apr 14, 2021
Copy link
Contributor

@alyssawilk alyssawilk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM pending happy CI, but I'm going to add @asraa per Harvey's point about the other library

@asraa
Copy link
Contributor

asraa commented Apr 16, 2021

Will this work with llhttp for H1 parser? CC @asraa

Yes! Should be fine. We handle it in the codec code, and the parser knows that nodejs/llhttp#2

…eaders_kb_limit

Signed-off-by: Anirudha Singh <ps.anirudha@gmail.com>
…atest upstream main

Signed-off-by: Anirudha Singh <ps.anirudha@gmail.com>
@anirudhaps
Copy link
Contributor Author

Updated docs/root/version_history/current.rst as per latest main to avoid any cause of merge conflict

@anirudhaps anirudhaps requested a review from alyssawilk April 24, 2021 09:45
Copy link
Contributor

@alyssawilk alyssawilk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@htuch looks like this needs another API stamp, though I assume the v2 changes be reverted for that?

@aunu53
Copy link
Contributor

aunu53 commented Apr 26, 2021

Sorry to comment late, yes when I was trying to raise the limits the barrier was in the HTTP1 codec library that we use.

@htuch htuch removed the v2-freeze label Apr 26, 2021
Copy link
Member

@htuch htuch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm api

@alyssawilk alyssawilk merged commit d20dbc4 into envoyproxy:main Apr 27, 2021
gokulnair pushed a commit to gokulnair/envoy that referenced this pull request May 6, 2021
…iB (envoyproxy#15921)

Commit Message:
Raise max configurable max_request_headers_kb limit to 8192 KiB (8MiB) from 96 KiB in http connection manager protobuf.

Additional Description:
Added/Updated relevant unit tests and integration tests. This change will allow increasing max_request_headers_kb to 8MiB from http connection manager's configuration. The change is mainly updating the limit in a validation check in the protobuf. Also, the old (merged) PR envoyproxy#5859 is read, no nghttp2 library-related issues are observed on raising the max_request_headers_kb beyond 96 KiB.
Risk Level: Low
Testing: Unit, Integration, Manual
Docs Changes: Inline in proto file.

Signed-off-by: Anirudha Singh <ps.anirudha@gmail.com>
Signed-off-by: Gokul Nair <gnair@twitter.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants