[
https://issues.apache.org/jira/browse/HBASE-21615?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16724631#comment-16724631
]
Andrew Purtell commented on HBASE-21615:
----------------------------------------
The essence of the compatibility story
{code:java}
+ useRetryableThrottlingException = rsServices.getConfiguration()
+ .getBoolean(QuotaUtil.QUOTA_RETRYABLE_THROTTING_EXCEPTION_CONF_KEY,
+ QuotaUtil.QUOTA_RETRYABLE_THROTTING_EXCEPTION_DEFAULT);
{code}
Then
{code:java}
+ // Depending on whether we are supposed to throw a retryable IO exeption
or not, choose
+ // the correct exception type to (re)throw
+ if (e instanceof ThrottlingException) {
+ if (useRetryableThrottlingException) {
+ throw new RpcThrottlingException(e.getMessage());
+ } else {
+ throw e;
+ }
+ } else if (e instanceof RpcThrottlingException) {
+ if (useRetryableThrottlingException) {
+ throw e;
+ } else {
+ throw new ThrottlingException(e.getMessage());
+ }
+ } else {
+ LOG.warn("Unexpected exception from quota check", e);
+ throw e;
+ }
{code}
> Port HBASE-19994 (Create a new class for RPC throttling exception, make it
> retryable) to branch-1
> -------------------------------------------------------------------------------------------------
>
> Key: HBASE-21615
> URL: https://issues.apache.org/jira/browse/HBASE-21615
> Project: HBase
> Issue Type: Sub-task
> Reporter: Andrew Purtell
> Assignee: Andrew Purtell
> Priority: Major
> Fix For: 1.5.0
>
>
> Backport the change from HBASE-19994 to branch-1 but make the new behavior
> configurable. Still changes the interfaces. Could be ok for a minor release
> (1.5.0)
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)