-
Notifications
You must be signed in to change notification settings - Fork 17
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
feat(cts): test the timeouts of the retry stragety #3264
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is huge
} | ||
break; | ||
default: | ||
// the delay should be the same, because the `retryCount` is per host instead of global |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
shouldn't the default be exponential?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
idk what's expected but it feels weird to me to retry instantly
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah almost all clients behave like this except for php and js, basically the retryCount is per host so the delay will increase on the next request, not on the next host, so the delay is the same.
If we run a second query in this test, we will see increased delay, but then the test will take too long.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ah so:
- query search
- fails, retried on all hosts with no exponential delay between hosts
- query search again
- fails, retried with increased delay, still not exponential between hosts
? this seems wrong to me because we assume the user retries but it's the client that should handle all that 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah its weird, but it was like that in legacy clients, this PR aims at checking the logic, not fixing every client as it would be very complicated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yup my comment doens't block it, I'm trying to understand if we should fix that before GA
I think we should ask the search team for advices and harmonize everything
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if we have time yes, it shouldn't be a breaking change to modify this logic
✔️ Code generated!
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nothing to add, super clean!
🧭 What and Why
🎟 JIRA Ticket: APIC-587
Use the test server to verify that the client uses the correct timeouts and delays.