Skip to content
Cloud-native high-performance edge/middle/service proxy
Branch: master
Clone or download
fredlas and htuch config: fix delta xDS's use of (un)subscribe fields, more explicit pr…
…otocol spec (#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

#4991

Signed-off-by: Fred Douglas <fredlas@google.com>
Latest commit 3abb7d0 Apr 19, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci build: use clang-8 (#6534) Apr 11, 2019
.github bot: exempt label "no stalebot" for PRs (#4081) Aug 8, 2018
api config: fix delta xDS's use of (un)subscribe fields, more explicit pr… Apr 19, 2019
bazel
ci lua: align the allocated memory (#6599) Apr 16, 2019
configs build: update jinja to 2.10.1. (#6623) Apr 18, 2019
docs access log: add response code details to the access log formatter (#6626 Apr 19, 2019
examples examples: standardize docker-compose version and yaml extension (#6613) Apr 18, 2019
include/envoy
restarter format all python files in envoy (#5422) Dec 26, 2018
security security: blameless postmortem template. (#6553) Apr 17, 2019
source config: fix delta xDS's use of (un)subscribe fields, more explicit pr… Apr 19, 2019
support tools: check spelling in pre-push hook (#6631) Apr 18, 2019
test config: fix delta xDS's use of (un)subscribe fields, more explicit pr… Apr 19, 2019
tools
windows
.bazelignore ci: remove ci workspace (#6229) Apr 8, 2019
.bazelrc
.clang-format
.clang-tidy tidy: Replace x.size() == 0 with x.empty() (#6511) Apr 10, 2019
.gitattributes Auto-merge the version-history file. (#3820) Jul 9, 2018
.gitignore
BUILD Reconcile envoyproxy/data-plane-api and envoyproxy/envoy (#3036) Apr 16, 2018
CODEOWNERS ZooKeeper proxy filter (#5991) Mar 25, 2019
CODE_OF_CONDUCT.md Update to CNCF Code of Conduct (#1671) Sep 15, 2017
CONTRIBUTING.md docs: update docs to recommend /retest repokitteh command (#6655) Apr 19, 2019
DCO Create DCO file (#1661) Sep 15, 2017
DEPRECATED.md redis: prefixed routing (#6413) Apr 16, 2019
DEVELOPER.md
GOVERNANCE.md
ISSUE_TEMPLATE.md Making fix format more pedantic to be merciful to maintainers (#2162) Dec 6, 2017
LICENSE Normalize the licensing scheme (#737) Apr 19, 2017
NOTICE license: update NOTICE to switch to CNCF copyright (#2663) Feb 24, 2018
OWNERS.md owners: promoting Lizan to senior maintainer! (#6374) Mar 25, 2019
PULL_REQUESTS.md docs: deprecated.md to sphinx docs (#6454) Apr 9, 2019
PULL_REQUEST_TEMPLATE.md docs: updating the pull request template (#6060) Feb 26, 2019
README.md build: add ppc build badge to README (#6629) Apr 19, 2019
REPO_LAYOUT.md docs: fix grammar errors (#3983) Jul 30, 2018
SECURITY_RELEASE_PROCESS.md security: update distributor application example to include e-mail. (#… Mar 29, 2019
STYLE.md trivial fix: there are many wrong typos (#5938) Feb 13, 2019
VERSION bump to 1.11.0-dev (#6490) Apr 5, 2019
WORKSPACE ci: remove ci workspace (#6229) Apr 8, 2019
repokitteh.star repokitteh: hide token passed to retest from trace (#5059) Nov 16, 2018

README.md

Envoy Logo

C++ L7 proxy and communication bus

Envoy is hosted by the Cloud Native Computing Foundation (CNCF). If you are a company that wants to help shape the evolution of technologies that are container-packaged, dynamically-scheduled and microservices-oriented, consider joining the CNCF. For details about who's involved and how Envoy plays a role, read the CNCF announcement.

CII Best Practices CircleCI Jenkins

Documentation

Related

Contact

  • envoy-announce: Low frequency mailing list where we will email announcements only.
  • envoy-users: General user discussion.
  • envoy-dev: Envoy developer discussion (APIs, feature design, etc.).
  • envoy-maintainers: Use this list to reach all core Envoy maintainers.
  • Twitter: Follow along on Twitter!
  • Slack: Slack, to get invited go here. We have the IRC/XMPP gateways enabled if you prefer either of those. Once an account is created, connection instructions for IRC/XMPP can be found here.
    • NOTE: Response to user questions is best effort on Slack. For a "guaranteed" response please email envoy-users@ per the guidance in the following linked thread.

Please see this email thread for information on email list usage.

Contributing

Contributing to Envoy is fun and modern C++ is a lot less scary than you might think if you don't have prior experience. To get started:

Community Meeting

The Envoy team meets every other Tuesday at 9am PT. The public Google calendar is here: https://goo.gl/PkDijT

Meeting minutes are here: https://goo.gl/5Cergb

Security

Security Audit

A third party security audit was performed by Cure53, you can see the full report here.

Reporting security vulnerabilities

If you've found a vulnerability or a potential vulnerability in Envoy please let us know at envoy-security. We'll send a confirmation email to acknowledge your report, and we'll send an additional email when we've identified the issue positively or negatively.

For further details please see our complete security release process.

You can’t perform that action at this time.