Uh oh!
There was an error while loading. Please reload this page.
Delta XDS - improved - #166
Conversation
slonka
commented
May 19, 2021
@mikegajda - some of your commits are missing sign-off, do you mind if I squash them and add you as a co-author? |
mikegajda
commented
May 19, 2021
Sure that'd be great, thanks @slonka! |
Signed-off-by: Sebastian Schepens <sebastian.schepens@mercadolibre.com> Signed-off-by: slonka <slonka@users.noreply.github.com>
Signed-off-by: slonka <slonka@users.noreply.github.com>
Signed-off-by: slonka <slonka@users.noreply.github.com>
Signed-off-by: slonka <slonka@users.noreply.github.com>
…delay to account for potential delays in writing to the wire (we don't want that to happen) Signed-off-by: slonka <slonka@users.noreply.github.com>
Signed-off-by: slonka <slonka@users.noreply.github.com>
Signed-off-by: slonka <slonka@users.noreply.github.com>
* Update protobuf to envoy 1.16.0 Signed-off-by: Lukasz Jedryczka <lukasz.jedryczka@allegro.pl> * Fixing test by setting -boostrap-version 2 flag Signed-off-by: Lukasz Jedryczka <lukasz.jedryczka@allegro.pl> * Update protobuf to envoy 1.16.0 Signed-off-by: Lukasz Jedryczka <lukasz.jedryczka@allegro.pl> * Information about update envoy image version in README.md Signed-off-by: wookieJ <lukaszjedryczka.biuro@gmail.com> Signed-off-by: slonka <slonka@users.noreply.github.com>
Signed-off-by: slonka <slonka@users.noreply.github.com>
Signed-off-by: slonka <slonka@users.noreply.github.com>
Signed-off-by: slonka <slonka@users.noreply.github.com>
Signed-off-by: slonka <slonka@users.noreply.github.com>
Signed-off-by: slonka <slonka@users.noreply.github.com>
Signed-off-by: slonka <slonka@users.noreply.github.com>
Signed-off-by: slonka <slonka@users.noreply.github.com>
Signed-off-by: karthik <listaction@gmail.com> Signed-off-by: slonka <slonka@users.noreply.github.com>
* Update protobuf to envoy 1.17 Signed-off-by: Lukasz Dziedziak <lukasz.dziedziak@allegro.pl> * Use v2 version Signed-off-by: Lukasz Dziedziak <lukasz.dziedziak@allegro.pl> * Support V2/V3 in Envoy - remove V2 in separate PR Signed-off-by: Lukasz Dziedziak <lukasz.dziedziak@allegro.pl> * UDPA download - split directory create/copy Signed-off-by: Lukasz Dziedziak <lukasz.dziedziak@allegro.pl> Signed-off-by: slonka <slonka@users.noreply.github.com>
Signed-off-by: slonka <slonka@users.noreply.github.com>
Signed-off-by: slonka <slonka@users.noreply.github.com>
Signed-off-by: slonka <slonka@users.noreply.github.com>
Signed-off-by: slonka <slonka@users.noreply.github.com>
Signed-off-by: slonka <slonka@users.noreply.github.com>
Signed-off-by: slonka <slonka@users.noreply.github.com>
Signed-off-by: slonka <slonka@users.noreply.github.com>
Signed-off-by: slonka <slonka@users.noreply.github.com>
6e66493 to
bac2a72CompareSigned-off-by: radoslaw.chrzanowski <radoslaw.chrzanowski@allegro.pl>
Signed-off-by: radoslaw.chrzanowski <radoslaw.chrzanowski@allegro.pl>
Signed-off-by: radoslaw.chrzanowski <radoslaw.chrzanowski@allegro.pl>
Signed-off-by: radoslaw.chrzanowski <radoslaw.chrzanowski@allegro.pl>
…g-slonka-hash-bytes
Signed-off-by: radoslaw.chrzanowski <radoslaw.chrzanowski@allegro.pl>
Ferdudas97
commented
Mar 14, 2022
Tests on our environment are finished. We confirmed that, using delta improves cpu utilization ( dropped by ~50%). |
rulex123
commented
Mar 15, 2022
@Ferdudas97 Hello! I have tried this patch out on Spotify's perimeter, which is Envoy based and uses a custom control plane that sends SoTW updates to our Envoy fleet. The only updates sent concern (atm) changes in clusters endpoints, and we have something like 350 upstream clusters configured in our Envoys. I tried out this patch on one of our Envoys that serves production traffic (around 8.5K RPS), and didn't observe any noticeable changes in CPU usage, though I could verify that the Envoy was using incremental xDS . So I am curious about the setup you tried this on, since you noticed such a drastic improvement: could you share some details about the setup (e.g. number of clusters, type and frequency of changes etc.)? |
Ferdudas97
commented
Mar 16, 2022
Hi @rulex123, I tested it on our environment where we have ~1750 clusters. We are using envoy-control, which is our abstraction layer over java-control-plane. According to our metrics, it returns 200-600 snapshots per minute. On our service with enabled DELTA_GRPC and wildcard dependencies (service is receiving SoTW), we can see CPU utilization drop by 50%. Part of envoy's config |
rulex123
commented
Mar 24, 2022
I would like to start removing support for xDS v2 altogether, do you think it would be possible to coordinate that effort with adding support for xDS incremental? i.e. If we removed support for v2 and then updated this patch accordingly, the amount of code to test/review to ship xDS incremental would reduce significantly. |
Automaat
commented
Mar 24, 2022
@rulex123 We don't want to merge these two topics, since these are two different topics. I have a local branch with almost removed v2 API and would like to push it as soon as we merge this pull request with delta XDS. |
rulex123
commented
Mar 25, 2022
I agree we shouldn't merge the two in one patch: what I am suggesting is that we first ship removal of support for xDS v2, and after that change has been merged upstream, we rebase the I think this is worth it, especially if you have a branch where you started the v2 removal work. I can also help with that work, in case you don't have cycles to continue it. WDYT? |
Automaat
commented
Mar 29, 2022
I will work on removing API v2 during this week, hopefully I will prepare first PR this week |
mikegajda
commented
May 20, 2022
👋 any updates here? I'd be happy to help get this merged as I'm hoping to deploy this change soon |
Ferdudas97
commented
May 30, 2022
Hey, the work is done on this branch. We are waiting for the review and merging of this PR -> there is a problem with publishing artifact for JCP. |
…g-slonka-hash-bytes and resolve conflicts Signed-off-by: radoslaw.chrzanowski <radoslaw.chrzanowski@allegro.pl>
Signed-off-by: radoslaw.chrzanowski <radoslaw.chrzanowski@allegro.pl>
33a623c to
fc131d5CompareFerdudas97
commented
Jul 29, 2022
@rulex123@mikegajda it is ready for your reviews |
mikegajda
commented
Aug 10, 2022
Taking a look at this in a moment @Ferdudas97! Thanks for getting it to this point |
| } | ||
| @Override | ||
| public void onV3StreamRequest(long streamId, DiscoveryRequest request) { |
There was a problem hiding this comment.
Should this be onV2StreamRequest to fulfill this the goal above "throws if it sees a v2 request", or were you thinking of throwing on a V3 non-delta request here and the comment above is in out of sync?
Signed-off-by: radoslaw.chrzanowski <radoslaw.chrzanowski@allegro.pl>
db316b7 to
fdc7425Compare

This is a PR based on work from @sschepens#152 and @mikegajdaHubSpot#4 .
At Allegro we've implemented it here: allegro/envoy-control#255 .
We've seen 50-70% improvements in CPUs usage in Envoys that do not have significant traffic (mostly do XDS) and ~35% in more RPS intensive apps.