Skip to content

Patch for 503s#71

Closed
jplevyak wants to merge 682 commits intoistio:masterfrom
jplevyak:patch-for-503s
Closed

Patch for 503s#71
jplevyak wants to merge 682 commits intoistio:masterfrom
jplevyak:patch-for-503s

Conversation

@jplevyak
Copy link
Copy Markdown

For an explanation of how to fill out the fields, please see the relevant section
in PULL_REQUESTS.md

Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
[Optional Fixes #Issue]
[Optional Deprecated:]

mpuncel and others added 30 commits April 19, 2019 09:01
…proxy#6646)

This test waits for the upstream to see a reset which confirms that the
router filter did the right thing when the global timeout is hit.
However since this involves the network, we would occasionally see the
reset after the wait call. Since we were waiting for 0ms we'd get
flakes. 15s is hopefully high enough that the test will succeed
reliably.

Signed-off-by: Michael Puncel <mpuncel@squareup.com>
…otocol spec (envoyproxy#6545)

 realized that, with the unreliable queue implementation copied from SotW xDS, delta xDS could get into a state where Envoy thinks it has subscribed, but the server hasn't heard the subscription, with no way for either to realize the mistake. I fixed that by converting the queue setup to a cleaner "do I currently want to send a request?" with the request's (un)subscriptions only populated immediately before the request is actually sent into gRPC.

While doing that, I further realized there was a problem when a given resource was subscribed then unsubscribed (or reversed), all in between request sends. I made sure Envoy handles that sensibly, and added explicit requirements to the xDS protocol spec to ensure servers will also handle it sensibly.

Added unit tests for those fixes.

Risk Level: low
Testing: added unit tests for bugs uncovered

envoyproxy#4991

Signed-off-by: Fred Douglas <fredlas@google.com>
Signed-off-by: Derek Schaller <dschaller@lyft.com>
…proxy#6643)

This defers starting the per try timeout timer until onRequestComplete
to ensure that it is not started before the global timeout. This ensures
that the per try timeout will not take into account the time spent
reading the downstream, which should be responsibility of the HCM level
timeouts.

Signed-off-by: Snow Pettersen <snowp@squareup.com>
…y#6628)

This adds support for modifying the grpc-timeout provided by the
downstream by some offset. This is useful to make sure that Envoy is
able to see timeouts before the gRPC client does, as the client will
cancel the request when the deadline has been exceeded which hides the
timeout from the outlier detector.

Signed-off-by: Snow Pettersen <snowp@squareup.com>
It is no longer needed since Api::Api is plumbed ubiquitiously throughout Envoy's core.

The only user of the factory, QuicThreadImpl, has been modified to take the
Envoy::Thread::ThreadFactory via QuicThreadImpl::setThreadFactory().

Signed-off-by: Andres Guedez <aguedez@google.com>
Signed-off-by: Rama Chavali <rama.rao@salesforce.com>
This PR moves the xds protocol from md to rst.

Risk Level: Low
Testing: N/A
Docs Changes: N/A
Release Notes: N/A

Fixes envoyproxy#6338

Signed-off-by: Rama Chavali <rama.rao@salesforce.com>
…oxy#6504)

* Adds SharedStatNameStorageSet.

Signed-off-by: Joshua Marantz <jmarantz@google.com>
…voyproxy#6657)

 A couple of the proto descriptors validated during startup are specific to extensions that may be compiled out. This change only validates their presence when the extensions are used. This fixes some spurious validation failures in certain minimal build configurations.

Risk Level: Low
Testing: Ran test suite, ran server.
Docs Changes: N/A
Release Notes: N/A

Signed-off-by: Mike Schore <mike.schore@gmail.com>
Change name of class TestHooks to ListenerHooks

Risk Level: Low; name change only.
Testing: Existing tests
Docs Changes: n/a
Release Notes: n/a
Fixes envoyproxy#6641

Signed-off-by: Randy Smith <rdsmith@google.com>
…oxy#6672)

Improve build rules for (test only) library quic_port_utils, by removing the intermediate library //extensions/quic_listeners/quiche/platform:quic_platform_port_utils_impl_lib.

Risk Level: none, build only
Testing:

bazel test --test_output=all test/extensions/quic_listeners/quiche/platform:all @com_googlesource_quiche//:all
bazel test --test_output=all --define quiche=enabled test/extensions/quic_listeners/quiche/platform:all @com_googlesource_quiche//:all

Signed-off-by: Bin Wu <wub@google.com>
Signed-off-by: Harvey Tuch <htuch@google.com>
Reintroduce dispatcher stats previously reverted in envoyproxy#6649. Dispatcher stats are now gated on a new bootstrap config parameter, enable_dispatcher_stats, and disabled by default.

Risk Level: Low
Testing: Manually verified that config is respected (see envoyproxy#6582, this still requires integration tests).
Docs Changes: Included a note about how statsd doesn't play well with these high-volume histograms.

Signed-off-by: Dan Rosen <mergeconflict@google.com>
Signed-off-by: Derek Schaller <dschaller@lyft.com>
Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
Signed-off-by: Andres Guedez <aguedez@google.com>
Signed-off-by: Derek Schaller <dschaller@lyft.com>
The PR (envoyproxy#6384) for the enhancement to jwt_authn was accepted before 1.10.0 was cut, and so the history was edited with 1.10.0 in mind, but the merge of  happened just after 1.10.0 was cut.

Therefore, this change moves the jwt_authn line from the "1.10.0 (April 5, 2019)" section to the "1.11.0 (Pending)" section.
Signed-off-by: Larry West <Larry_West@intuit.com>
…oxy#6583)

Signed-off-by: Brian Rectanus <brectanus@signalsciences.com>
* docs: add extension policy

Signed-off-by: Derek Schaller <dschaller@lyft.com>
envoyproxy#6610)

* build: bump rules_foreign_cc to e3f4b5e0 and switch to lld for .bazelrc sanitizers.

This allows for all --copt/--cxxopt/--linkopt to be plumbed to external
dependencies.

Risk level: Low
Testing: CI

Signed-off-by: Harvey Tuch <htuch@google.com>
Signed-off-by: Derek Schaller <dschaller@lyft.com>
…ons. (envoyproxy#6688)

Per @ambuc's comment on envoyproxy#6161 I think it would be better to keep a log of the memory consumed by stats, and also use exact comparisons. That way we can get historical perspective into the relative impact of adding new stats or families of stats.

Risk Level: low, but could cause more changes to this one test.
Testing: just this one test.
Docs Changes: n/a
Release Notes: n/a

Signed-off-by: Joshua Marantz <jmarantz@google.com>
Parameterizes existing fuzzer to yield a second fuzzer than can independently fuzz the new
implementation.

Risk level: Low
Testing: bazel test //test/common/buffer/...

Signed-off-by: Harvey Tuch <htuch@google.com>
Signed-off-by: Dan Rosen <mergeconflict@google.com>
ahedberg and others added 21 commits May 23, 2019 13:11
Add ProcessContext to server and expose to filters via FactoryContext

Risk Level: medium
Testing: new server test, bazel test //test/...
Docs Changes: n/a
Release Notes: (does this need one?)

Fixes envoyproxy#6969

Signed-off-by: Ashley Hedberg <ahedberg@google.com>
* Add test coverage for find* methods in IsolatedStoreImpl

Signed-off-by: Ashley Hedberg <ahedberg@google.com>
Signed-off-by: Matt Klein <mklein@lyft.com>
Add platform implementations for quiche::SimpleLinkedHashMap. And enable simple_linked_hash_map_test.cc.
Finish TODOs in quic|spdy_containsers_impl.h to implement Quic|SpdyLinkedHashMap with SimpleLinkedHashMap.
Add a few spdy build targets and test target: spdy_core_header_block_test which tests SpdyHeaderBlock which uses SimpleLinkedHashMap.
Update tar ball to 7bf7c3c358eb954e463bde14ea27444f4bd8ea05.

Risk Level: low, not used
Testing: enabled quiche tests: simple_linked_hash_map_test.cc and spdy_header_block_test.cc
Part of envoyproxy#2557

Signed-off-by: Dan Zhang <danzh@google.com>
…voyproxy#6878)

Add asserts in ImmutableConfigProviderBase too make sure correct instance type gets passed in.

Risk Level: LOW

Signed-off-by: Xin Zhuang <stevenzzz@google.com>
Signed-off-by: Dhi Aurrahman <dio@tetrate.io>
Implements the hedge_on_per_try_timeout option in HedgePolicy config
which instructs the router filter to not cancel requests that hit the
per try timeout before sending a retry. This means the router must be
able to manage multiple simultaneous upstream requests and handle
deciding which response "wins" and canceling any other in flight
requests.

Fixes envoyproxy#5841

Signed-off-by: Michael Puncel <mpuncel@squareup.com>
Signed-off-by: Mitch Sukalski <mitch.sukalski@workday.com>
…uzzer (envoyproxy#7070)

Fixes oss-fuzz issue
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14779

Risk level: Low
Testing: Corpus entry added.

Signed-off-by: Asra Ali <asraa@google.com>
Signed-off-by: Taylor Barrella <tbarrella@gmail.com>
Signed-off-by: Derek Argueta <dereka@pinterest.com>
Signed-off-by: zzg <zg.zhu@daocloud.io>
…he route level (envoyproxy#6986)

Signed-off-by: Gary Brown <gary@brownuk.com>
Signed-off-by: Jyoti Mahapatra <jmahapatra@lyft.com>
…nvoyproxy#7079)

* Make the new buffer impl's reserve/commit semantics match libevent
* On OwnedImpl::reserve, if any slices at the end of the buffer
  have reservations, clear the reservations so the space can be
  used for the new reservation.
* Add tests for the two cases where this is important: calling
  reserve and never committing the buffers before the next reserve
  call; and calling reserve, getting back N slices, and only committing
  the first M of those slices (where M < N) before the next reserve
  call.

Signed-off-by: Brian Pane <brianp+github@brianp.net>
…tion time. (envoyproxy#7046)

Signed-off-by: Joshua Marantz <jmarantz@google.com>
This seems to have changed (and SHA256) on GH, from 1.5 -> 1.5.0. I will
also followup internally on this.

Risk level: Low
Testing: bazel test //test/common/upstream:load_balancer_benchmark

Signed-off-by: Harvey Tuch <htuch@google.com>
Another .h split enabled by xDS detemplatization. (Followup to envoyproxy#6391)

Risk Level: none

Signed-off-by: Fred Douglas <fredlas@google.com>
Signed-off-by: John Plevyak <jplevyak@gmail.com>
@googlebot
Copy link
Copy Markdown

We found a Contributor License Agreement for you (the sender of this pull request), but were unable to find agreements for all the commit author(s) or Co-authors. If you authored these, maybe you used a different email address in the git commits than was used to sign the CLA (login here to double check)? If these were authored by someone else, then they will need to sign a CLA as well, and confirm that they're okay with these being contributed to Google.
In order to pass this check, please resolve this problem and have the pull request author add another comment and the bot will run again. If the bot doesn't comment, it means it doesn't think anything has changed.

ℹ️ Googlers: Go here for more info.

@jplevyak jplevyak closed this May 29, 2019
rlenglet pushed a commit that referenced this pull request Aug 13, 2019
Signed-off-by: John Plevyak <jplevyak@gmail.com>
brian-avery pushed a commit that referenced this pull request Jun 30, 2020
This can happen during certain early reply cases in the HCM
when an encoder filter tries to lookup the cached route/cluster.

Signed-off-by: Matt Klein <mklein@lyft.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.