-
Notifications
You must be signed in to change notification settings - Fork 512
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
fix(delta): force push EDS once CDS sent for Ads #981
Conversation
Signed-off-by: Lukasz Dziedziak <lukidzi@gmail.com>
Signed-off-by: Lukasz Dziedziak <lukidzi@gmail.com>
@valerian-roche Hi, would you have some time to review this approach? I'm looking for feedback, and if you think there’s a better way to do it, I’d be happy to make changes. |
Hey, this issue for EDS has been addressed in envoy now (though behind a runtime flag). Our private fork of go-controlplane had a workaround for it we were able to remove with it. |
Thanks for the response. I’m going to test the Envoy change and see if it helps. If it doesn’t resolve the issue, I can update this PR to send only impacted clusters. |
Signed-off-by: Lukasz Dziedziak <lukidzi@gmail.com>
I've added a change to push only relevant endpoints. It seems the Envoy change fixes the issue, but only when initial_fetch_timeout is set. If this value is 0 or too long, your cluster might stay in the warming phase for an extended period. If you could take a look @valerian-roche |
@valerian-roche I've applied a suggested change with sending only changed endpoints if you can take a look would be great :) |
This pull request has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in 7 days if no further activity occurs. Please feel free to give a status update now, ping for review, or re-open when it's ready. Thank you for your contributions! |
This pull request has been automatically closed because it has not had activity in the last 37 days. Please feel free to give a status update now, ping for review, or re-open when it's ready. Thank you for your contributions! |
This is a widely known issue (#583). In the case of SOTW, it can be fixed by using a custom callback to force a version change. However, in the case of the delta, it's not possible because the previous version is stored in the streamState and the current version is set based on the resource. Since there were no endpoint changes simple version overriding doesn't force an update.
I'm looking for feedback on this approach.