-
Notifications
You must be signed in to change notification settings - Fork 82
[Doc] clarify retry loop #130
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
[Doc] clarify retry loop #130
Conversation
docs/index.asciidoc
Outdated
|
||
This output has two levels of retry, library and plugin. | ||
|
||
The library only retry IO related failures. Non retriable IOException are InterruptedIOException, UnknownHostException, ConnectException and SSLException. |
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.
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.
From a user perspective maybe is better not to report the Java exceptions names, but the concept they carries.
So it could be something like:
Non retriable errors could regard SSL problems or host not resolved but also connection problem or OS/JVM level interruptions happening during a request.
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.
awesome suggestion!
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.
The splitting seems good, I've left a note on how to improve the description of what not retriable errors are, without listing any specific Java exception
docs/index.asciidoc
Outdated
|
||
This output has two levels of retry, library and plugin. | ||
|
||
The library only retry IO related failures. Non retriable IOException are InterruptedIOException, UnknownHostException, ConnectException and SSLException. |
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.
From a user perspective maybe is better not to report the Java exceptions names, but the concept they carries.
So it could be something like:
Non retriable errors could regard SSL problems or host not resolved but also connection problem or OS/JVM level interruptions happening during a request.
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.
Fantastic explanations, @kaise. Thank you for taking this on.
I left some comments about wording and formatting for your consideration. I can't test the documentation until changes are applied, but I'll be happy to retest.
Also, what do you think about noting in option descriptions which retry type they apply to? |
Co-authored-by: Karen Metts <[email protected]>
Co-authored-by: Karen Metts <[email protected]>
Co-authored-by: Karen Metts <[email protected]>
Co-authored-by: Karen Metts <[email protected]>
Co-authored-by: Karen Metts <[email protected]>
If we have some markers to make it clear which options belong to which types, it would be very good. But now I only see verbose messages, so my new commits give a pointer (see Retry Policy...) to all four options. I hope these hints are clear enough. |
@@ -343,10 +343,11 @@ Timeout (in seconds) for the entire request | |||
* Value type is <<boolean,boolean>> | |||
* Default value is `true` | |||
|
|||
Note that this option controls retries for plugin-level requests only. | |||
Note that this option controls plugin-level retries only. |
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.
My change was misleading. We don't have plugin-level requests, instead, we have plugin-level retries
@karenzone Wow! The new format is so amazing! You raise it to the next level 🚀 Committed all your suggestion. |
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.
Left some suggestions for wording tweaks for your consideration. Otherwise, LGTM!
Thank you for clarifying how retries work.
This only affects connectivity related errors (see related `automatic_retries` setting). | ||
When set to `false` and `automatic_retries` is enabled, GET, HEAD, PUT, DELETE, OPTIONS, and TRACE requests will be retried. | ||
|
||
When set to `true` and `automatic_retries` is enabled, this will cause non-idempotent HTTP verbs (such as POST) to be retried. |
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.
When set to `true` and `automatic_retries` is enabled, this will cause non-idempotent HTTP verbs (such as POST) to be retried. | |
When this option is set to `true` and `automatic_retries` is enabled, non-idempotent HTTP verbs (such as POST) to be retried. |
Co-authored-by: Karen Metts <[email protected]>
Co-authored-by: Karen Metts <[email protected]>
Co-authored-by: Karen Metts <[email protected]>
The retry policy confuses users mainly due to the unclear boundary of
retry_failed
andautomatic_retries
.This PR explains
retry_failed
set tofalse
does not affect the number of retries in lib level