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