-
Notifications
You must be signed in to change notification settings - Fork 3.4k
HBASE-22322 Use special pause for CallQueueTooBigException #195
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
Conversation
|
🎊 +1 overall
This message was automatically generated. |
Agreed. Actually the original config name proposed in HBASE-17114 is Will be back and review the PR soon. |
| * times) are both limitations for retrying, we will stop retrying when we reach any of the | ||
| * limitations. | ||
| * @param timeout | ||
| * @param unit |
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.
Maybe better to add some javadoc to parameters here instead of removing? I mean after all we are changing this part, let's improve it.
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.
We do not have javadoc for these parameters in both AsyncTableBuilder and TableBuilder, and I think the parameter name is good enough to tell users the meaning?
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.
It will generate checkstyle error by default although not a big deal.
| /** | ||
| * Set timeout for each rpc request. | ||
| * @param timeout | ||
| * @param unit |
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.
Ditto.
| * Set the base pause time for retrying. We use an exponential policy to generate sleep time when | ||
| * retrying. | ||
| * @param timeout | ||
| * @param unit |
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.
Ditto.
| * Set the max retry times for an admin operation. Usually it is the max attempt times minus 1. | ||
| * Operation timeout and max attempt times(or max retry times) are both limitations for retrying, | ||
| * we will stop retrying when we reach any of the limitations. | ||
| * @param maxRetries |
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.
Ditto.
| * Set the max attempt times for an admin operation. Usually it is the max retry times plus 1. | ||
| * Operation timeout and max attempt times(or max retry times) are both limitations for retrying, | ||
| * we will stop retrying when we reach any of the limitations. | ||
| * @param maxAttempts |
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.
Ditto.
|
|
||
| /** | ||
| * Set the number of retries that are allowed before we start to log. | ||
| * @param startLogErrorsCnt |
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.
Ditto.
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.
Overall LGTM, just some minor comments that don't block the commit. And please make it compatible for old configuration if plan to change the config name.
|
💔 -1 overall
This message was automatically generated. |
OK, can do this in another issue... |
Still have some problems on implementing UTs, will update the patch soon. And maybe we could change the config name? I think a more general reason to use a larger pause is that the region server is overloaded, CallQueueTooBigException is only one possible result of a overloaded region server. So maybe we could change the config and also the new methods in TableBuilder and AdminBuilder to something like pauseWhenOverloaded? What do you think @carp84 . Thanks.