hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jingyun Tian (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-19695) Handle disabled table for async client
Date Thu, 11 Jan 2018 09:13:00 GMT

    [ https://issues.apache.org/jira/browse/HBASE-19695?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16321901#comment-16321901

Jingyun Tian commented on HBASE-19695:

my proposal is when we do complete like follow:
  private void complete(TableName tableName, LocateRequest req, HRegionLocation loc,
      Throwable error) {
    if (error != null) {
      LOG.warn("Failed to locate region in '" + tableName + "', row='" +
        Bytes.toStringBinary(req.row) + "', locateType=" + req.locateType, error);
we could check if the error is RegionOfflineException. If it is true, then we check if the
table is disabled. 
If the table is disabled, we transfer the exception to DoNotRetryIOException, else we keep

> Handle disabled table for async client
> --------------------------------------
>                 Key: HBASE-19695
>                 URL: https://issues.apache.org/jira/browse/HBASE-19695
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Duo Zhang
>            Assignee: Jingyun Tian
> Now for async client we will not check if a table is disabled when retrying, so we will
retry until the time or count limit is reached, and will not throw a TableNotEnabledException.
> We should have the same behavior as sync client, but the implementation should be carefully
designed. For sync client, we will also check if a table is disabled if it is a retry, no
matter what the exception is. This will double the pressure on meta table. We should try our
best to eliminate unnecessary access to meta table.

This message was sent by Atlassian JIRA

View raw message