[ 
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)

Reply via email to