-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
[WIP] Build lazy loading of scoped rds into on_demand_update filter #12523
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Signed-off-by: chaoqinli <chaoqinli@google.com>
Signed-off-by: chaoqinli <chaoqinli@google.com>
Signed-off-by: chaoqinli <chaoqinli@google.com>
Signed-off-by: chaoqinli <chaoqinli@google.com>
Signed-off-by: chaoqinli <chaoqinli@google.com>
Signed-off-by: chaoqinli <chaoqinli@google.com>
CC @envoyproxy/api-shepherds: Your approval is needed for changes made to |
8553359
to
c8763ab
Compare
e701ae4
to
f14acdb
Compare
Signed-off-by: chaoqinli <chaoqinli@google.com>
Signed-off-by: chaoqinli <chaoqinli@google.com>
Signed-off-by: chaoqinli <chaoqinli@google.com>
Signed-off-by: chaoqinli <chaoqinli@google.com>
Signed-off-by: chaoqinli <chaoqinli@google.com>
Signed-off-by: chaoqinli <chaoqinli@google.com>
Signed-off-by: chaoqinli <chaoqinli@google.com>
Signed-off-by: chaoqinli <chaoqinli@google.com>
Signed-off-by: chaoqinli <chaoqinli@google.com>
… bad alloc exception (envoyproxy#12417) Running this test in CI on Windows we have seen bad alloc exceptions, to combat this and reduce memory overhead, break up large string allocation into smaller segments. Signed-off-by: William A Rowe Jr <wrowe@vmware.com> Co-authored-by: Sunjay Bhatia <sunjayb@vmware.com>
Signed-off-by: Raul Gutierrez Segales <rgs@pinterest.com>
Signed-off-by: Lizan Zhou <lizan@tetrate.io>
- ambiguous value-based std::chrono::{clock_type}::duration(value) constructors result in stdlib implementation specific default time units which are hard to read and potentially different on different platforms - this change removes any instances of these ambiguous constructions and adds a format check to prevent them; developers should specify an explicit unit of time - we explicitly saw this issue in envoyproxy#11915 where the assumed duration unit was different on Windows, causing test failures Additional Description: Risk Level: Low Testing: Adds format check test and adjust existing unit tests Docs Changes: N/A Release Notes: N/A Signed-off-by: Sunjay Bhatia <sunjayb@vmware.com> Co-authored-by: William A Rowe Jr <wrowe@vmware.com>
Add authority field in envoy grpc message to override the default host name as cluster name. Risk Level: Low Testing: Docs Changes: Release Notes: Fix envoyproxy#12116 Signed-off-by: Yuchen Dai <silentdai@gmail.com>
Signed-off-by: Raul Gutierrez Segales <rgs@pinterest.com>
Fixes envoyproxy#12459 Signed-off-by: Matt Klein <mklein@lyft.com>
Refactor `ci/clang_tidy.sh` and `ci/do_ci.sh` to allow run clang-tidy for specified source file. Make running clang_tidy with build container or within devcontainer easier. Risk Level: Low Testing: Local, CI Docs Changes: Yes Release Notes: N/A Signed-off-by: Lizan Zhou <lizan@tetrate.io>
The list of enabled runtime flags is in runtime_features.cc, not runtime_features.h Signed-off-by: Alex Konradi <akonradi@google.com>
…12441) Signed-off-by: Yifan Yang <needyyang@google.com>
Commit Message: add a couple static registration macros Additional Description: needed for registration in static library environments. Risk Level: low Testing: local Signed-off-by: Jose Nino <jnino@lyft.com>
Signed-off-by: Lizan Zhou <lizan@tetrate.io>
This should avoid TSAN timeout flakes. Signed-off-by: Matt Klein <mklein@lyft.com>
…railers (envoyproxy#12178) This adds `envoy.reloadable_features.skip_encoding_empty_trailers` runtime feature flag (enabled by default) to skip encoding empty trailers in H2 codec. This behavior can be reverted temporarily by setting runtime feature `envoy.reloadable_features.skip_encoding_empty_trailers` to false. Before this commit, seeing empty trailers of gRPC-Web filter response, codec submits: ``` [ 5.036] recv DATA frame <length=28, flags=0x00, stream_id=13> [ 5.040] recv DATA frame <length=52, flags=0x00, stream_id=13> [ 5.053] recv HEADERS frame <length=0, flags=0x05, stream_id=13> ; END_STREAM | END_HEADERS ``` After: ``` [ 5.036] recv DATA frame <length=28, flags=0x00, stream_id=13> [ 5.040] recv DATA frame <length=52, flags=0x00, stream_id=13> [ 5.052] recv DATA frame <length=0, flags=0x01, stream_id=13> ; END_STREAM ``` Risk Level: Low Testing: Unit, integration tests. Docs Changes: N/A. Release Notes: Added Fixes envoyproxy#10514 Signed-off-by: Dhi Aurrahman <dio@tetrate.io>
…#12410) Adds support for X-RateLimit-* headers described in the draft RFC. The X-RateLimit-Limit header contains the quota-policy per RFC. The descriptor name is included in the quota policy under the name key. X-RateLimit-Reset header is emitted, but it would need a followup in the ratelimit service, which I will do once this is merged. Signed-off-by: Petr Pchelko <ppchelko@wikimedia.org>
…ts (envoyproxy#12483) We noticed that certain headers-only requests were not having their respective responses be compressed. Ultimately the problem was that the decompressor filter was not advertising accept-encoding for headers-only requests. This PR advertises (when configured to do so and response decompression is active) even on headers-only requests. Signed-off-by: Jose Nino <jnino@lyft.com>
Followup for a new feature introduced by envoyproxy#12410 Apologies for not noticing that a later draft was introduced recently. I think we should start with supporting the latest available spec draft, so update version 2 to version 3. The change is technically backwards-incompatible, but the new feature was introduced one day ago, nobody could have been so fast to depend on it. Signed-off-by: Petr Pchelko <ppchelko@wikimedia.org>
Moves the ownership of the StreamInfoImpl into the FilterManager, exposed via an accessor to allow the ActiveStream to still modify/read the StreamInfo. Moves the interaction with the FilterChainFactory into the FilterManager, as well as ownership over the access logs created via the factory callbacks. Signed-off-by: Snow Pettersen <aickck@gmail.com>
Signed-off-by: Lizan Zhou <lizan@tetrate.io>
This patch enables the following tests on Windows: 1. //test/common/http:codec_client_test 2. //test/common/network:listener_impl_test 3. //test/common/network:connection_impl_test To do so we swap the addresses to use `getCanonicalLoopbackAddress` instead of `getAnyAddress` and we add synchronization in `ConnectionImplTest.ReadWatermarks` tests. Additional Description: N/A Risk Level: Low, test only Testing: Updated unit tests Docs Changes: N/A Release Notes: N/A Signed-off-by: Sotiris Nanopoulos <sonanopo@microsoft.com>
- Tests that used a non-blocking libevent event loop are flaky on Windows (and would be flaky on other platforms if event notifications routinely took longer to be propagated) since the event loop could exit before an event notification. Switching to use a blocking event loop prevents early exit before filesystem events are evaluated. - Skip SymlinkAtomicRename test as Windows does not have an atomic file move API that can move a directory/symlink where the new name is a non-empty existing directory/symlink (MoveFileEx can atomically replace a file with a file, however). Signed-off-by: William A Rowe Jr <wrowe@vmware.com> Co-authored-by: Sunjay Bhatia <sunjayb@vmware.com> Co-authored-by: William A Rowe Jr <wrowe@vmware.com>
…voyproxy#12479) Some filter factories allocate TLS slots shared via shared pointers. On a filter config update, the last filter factory reference happens to be deleted on a worker thread, which causes a runtime failure since TLS slots must be deleted on the main thread. The solution is to prolong the life of the filter factory using main thread completion callback. Signed-off-by: Kuat Yessenov <kuat@google.com>
Signed-off-by: Lizan Zhou <lizan@tetrate.io>
Signed-off-by: Lizan Zhou <lizan@tetrate.io>
…1914) This change delete the read filter before udp listener deletion. Signed-off-by: DongRyeol Cha <dr83.cha@samsung.com>
…xy#12506) Signed-off-by: Lizan Zhou <lizan@tetrate.io>
1a79619
to
cf1bf8b
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Commit Message:
Add a field to the current protobuf of ScopedRouteConfiguration to distinguish between scopes of different priorities. If the route table is of high priority, load the scoped route configuration eagerly, otherwise load the scoped route configuration lazily.
The lazy loading feature of route table associated with scope is achieved by extending the current vhds on_demand filter to support lazy loading of RouteConfigurationscoped route discovery service.If a scoped route configuration is set to be loaded lazily, upon a http request using SRDS, when the corresponding route table of a scope is not found, post a callback to control plane, request the route table from the management server, after the route table has been initialized, continue the filter chain.
Additional Description: Design doc
Risk Level:
Testing: add unit tests and integration test to verifiy behavior changes
Docs Changes:
Release Notes:
[Optional Runtime guard:]
[Optional Fixes #Issue] on demand s/rds
[Optional Deprecated:]