-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
api: GoogleRE2 max_program_size should be checked by server, not client. #10971
Changes from 2 commits
8803614
5005314
0be0ab1
2e8e4c0
7479875
38c74fc
b9162d8
2d3dd0e
3fdd681
cf6cb5f
99bc27f
512d9ea
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -40,3 +40,6 @@ Deprecated | |
* Tracing provider configuration as part of :ref:`bootstrap config <envoy_v3_api_field_config.bootstrap.v3.Bootstrap.tracing>` | ||
has been deprecated in favor of configuration as part of :ref:`HTTP connection manager | ||
<envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing.provider>`. | ||
* The * :ref:`GoogleRE2.max_program_size<envoy_api_field_RegexMatcher.GoogleRE2.max_program_size>` | ||
field is now deprecated. Management servers are expected to validate regexp program sizes | ||
instead of asking the client to do it. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. here 'client' means the proxy, that is, it's a client of the control-plane? What if the user is deploying Envoy without a control-plane? Maybe that never happens? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Here, "client" means the xDS client (i.e., Envoy or gRPC). If they're deploying Envoy with a static config, they can statically validate the regexps. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. s/asking/expecting/ There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Done. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
WDYT of leaving this in, but providing a reasonable default max_program_size that is bounded, but can be overridden?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In what way is that different from the current field? If
max_program_size
is "not specified, the default is 100."There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think I'm getting at what @markdroth is trying to express: this is an API that is intended to be implementable by proxies other than Envoy.
I think maybe he objects to predefining what the default behavior is, and rely solely on the management plane to enforce limits, which concerns me because I am thinking from the perspective of managing a shared-tenancy proxy, and I want the default scenario to consume bounded CPU.
I think maybe we could change the comment from saying "if not specified, the default is 100." to "if not specified, the default limit is implementation-dependent".
Mark, would that be good enough?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think changing the default here would address my concern. The real issue is that we need to be validating this on the management server, not on the client.