-
Notifications
You must be signed in to change notification settings - Fork 136
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
Delta xds #152
base: main
Are you sure you want to change the base?
Delta xds #152
Conversation
Codecov Report
@@ Coverage Diff @@
## master #152 +/- ##
=============================================
- Coverage 88.02% 61.02% -27.01%
- Complexity 296 303 +7
=============================================
Files 31 39 +8
Lines 977 1465 +488
Branches 78 119 +41
=============================================
+ Hits 860 894 +34
- Misses 85 538 +453
- Partials 32 33 +1
Continue to review full report at Codecov.
|
Signed-off-by: Sebastian Schepens <[email protected]>
Signed-off-by: Sebastian Schepens <[email protected]>
Signed-off-by: Sebastian Schepens <[email protected]>
Nice! Do you have any insights on the performance improvements on SOTW vs Delta? |
@jakubdyszkiewicz It really depends on the use case. For example:
The performance benefit is really hard to measure, in our use case we were using non ADS SOTW with per cluster versioning which is probably the best performing case you can make of SOTW and we managed to reduce about 50% the load on our Control Plane, the amount of updates pushed from our Control Plane went from 1.5M changes per minute to 25k per minute. But not only Control Plane performance was improved, also envoy was using less cpu when CDS was updated for example, which in our use case is huge since we have 9k+ clusters. The key take away is:
|
What's the state of this and are there plans to get this merged in? @sschepens how has this been working out in production for you? I'm working on a project that could stand to benefit from this, and could potentially offer to write the tests here, depending on what the plan is for this. |
@mikegajda this has been running in production for 6+ months and is working like a charm.
That would be great! I think what we would need is Design input from other people, since this breaks existing APIs, it would be great to see if this change is the best or if some other ideas come about. |
We would love to see this implemented. @mikegajda Allegro's OSS Control Plane can act as a second level of tests (we depend on JCP and have integration and resiliency tests). If you need help getting started reach out to me directly on Envoy's slack. |
Thanks for the comment @slonka and pointing me at the allegro control plane stuff, I'll reach out on slack if I run into anything |
👋 I have been working here on a version of this that has some testing (working on more) and changes how versions are generated, would love to hear some thoughts/comments about this approach: HubSpot#3 |
Unless I am missing something, the work from this PR is already merged and we should close this. |
Yes, this can be closely now, thanks @inssein for noticing that |
Working implementation of Incremental XDS.
Has been running in production for several months primarily using DeltaXDS over ADS.
This has no tests, but current tests should be running
Couple of implementation comments:
I don't have time to add enough tests to get this merged, but i can tell you this is battle tested.
Most of the design decisions specified above were taken to solve actual issues while handling delta in production, we have huge configs with 9k+ clusters and constant changes and we did find edge cases to fix.
Delta is significantly different than SOTW and thoroughly testing it can be tricky.
I'm leaving this open in a Draft state, maybe someone can pick this up and get it merged.