[
https://issues.apache.org/jira/browse/HBASE-25634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17297864#comment-17297864
]
zhengsicheng commented on HBASE-25634:
--------------------------------------
[~zhangduo] review code thank you!
> The client frequently exceeds the quota, which causes the meta table scan to
> be too high
> ----------------------------------------------------------------------------------------
>
> Key: HBASE-25634
> URL: https://issues.apache.org/jira/browse/HBASE-25634
> Project: HBase
> Issue Type: Bug
> Affects Versions: 2.3.4
> Reporter: zhengsicheng
> Assignee: zhengsicheng
> Priority: Minor
> Attachments: image-2021-03-05-12-00-33-522.png,
> image-2021-03-05-12-01-08-769.png
>
>
> When the client scan operation, the server frequently returns
> RpcThrottlingException, which will cause the meta table request to become
> high.
>
>
> /hbase-client/src/main/java/org/apache/hadoop/hbase/client/RpcRetryingCallerImpl.java
> {code:java}
> // code placeholder
> @Override
> public T callWithRetries(RetryingCallable<T> callable, int callTimeout)
> throws IOException, RuntimeException {
> List<RetriesExhaustedException.ThrowableWithExtraContext> exceptions = new
> ArrayList<>();
> tracker.start();
> context.clear();
> for (int tries = 0;; tries++) {
> long expectedSleep;
> try {
> // bad cache entries are cleared in the call to
> RetryingCallable#throwable() in catch block
> // callable.prepare() reload force reload of server location
> callable.prepare(tries != 0);
> interceptor.intercept(context.prepare(callable, tries));
> return callable.call(getTimeout(callTimeout));
> } catch (PreemptiveFastFailException e) {
> throw e;
> } catch (Throwable t) {
> ExceptionUtil.rethrowIfInterrupt(t);
> Throwable cause = t.getCause();
> if (cause instanceof DoNotRetryIOException) {
> // Fail fast
> throw (DoNotRetryIOException) cause;
> }
> // translateException throws exception when should not retry: i.e. when
> request is bad.
> interceptor.handleFailure(context, t);
> t = translateException(t);
> {code}
>
>
>
> !image-2021-03-05-12-00-33-522.png!
> !image-2021-03-05-12-01-08-769.png!
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)