-
Notifications
You must be signed in to change notification settings - Fork 107
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
Specs to make maxRetries configurable for endpoints and route-services #298
Specs to make maxRetries configurable for endpoints and route-services #298
Conversation
af679a1
to
1346d6b
Compare
Hi @domdom82, Thank you for submitting this! I am deploying it now to test. I appreciate that you split up backend retries and route-service retries. Good catch. My main critique is the use of the word "retries". You use the word "retries" here, but what I actually think you mean is "tries" or "attempts". To me, zero retries would imply that gorouter tries once, and then never tries again. I think there are two options here:
|
@ameowlia thanks for your review. funny enough, we just had the same discussion and came up with "attempts" instead of "retries". so 👍 to that! |
…ices (maxAttempts) Co-authored-by: Soha Alboghdady <soha.alboghdady@sap.com> Co-authored-by: Nicolas Regez <reg@algosys.ch>
@ameowlia We renamed For backend calls, We thoroughly tested the behaviour of gorouter in one of our CF deployments and did not encounter any unexpected behaviour. May we kindly as you to merge both PRs? Thank you! |
This provides a solution to issues where stale routes containing out of date/failing route-service information are never detected, and ended up causing errors for all app instances, when the stale route was at index 0 of an endpoint pool. This was previously fixed with cloudfoundry/gorouter#298, but that caused issues with loadbalancing fairness, and sticky sessions. Instead of pruning the endpoint with the failing route-service, to force it to be re-registered with an up-to-date route-service, gorouter now treats the route-service as an endpoint-pool property, and updates the route-service whenever a new registration occurs. Also adds integration tests to ensure we didn't regress on the behavior resolved in cloudfoundry#298. Signed-off-by: Amelia Downs <adowns@vmware.com>
Fixes #285
This is the companion PR for making max-retries configurable in gorouter
See companion PR
See companion PR
See companion PR
See companion PR
cloudfoundry/gorouter#335
I have viewed signed and have submitted the Contributor License Agreement
I have made this pull request to the
develop
branchI have run all the unit tests using
scripts/run-unit-tests-in-docker
(Optional) I have run Routing Acceptance Tests and Routing Smoke Tests on bosh lite
(Optional) I have run CF Acceptance Tests on bosh lite