You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Esteban Gutierrez (JIRA)" <ji...@apache.org> on 2016/11/16 21:29:58 UTC

[jira] [Resolved] (HBASE-3975) NoServerForRegionException stalls write pipeline

     [ https://issues.apache.org/jira/browse/HBASE-3975?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Esteban Gutierrez resolved HBASE-3975.
--------------------------------------
    Resolution: Fixed

The new async client is taking care of this.

> NoServerForRegionException stalls write pipeline
> ------------------------------------------------
>
>                 Key: HBASE-3975
>                 URL: https://issues.apache.org/jira/browse/HBASE-3975
>             Project: HBase
>          Issue Type: Bug
>          Components: Client
>    Affects Versions: 0.89.20100924, 0.90.3, 0.92.0
>            Reporter: Nicolas Spiegelberg
>            Assignee: Nicolas Spiegelberg
>
> When we process a batch of puts, the current algorithm basically goes like this:
> 1. Find all servers for the Put requests
> 2. Partition Puts by servers
> 3. Make requests
> 4. Collect success/error results
> If we throw an IOE in step 1 or 2, we will abort the whole batch operation.  In our case, this was an NoServerForRegionException due to region rebalancing.  However, the asynchronous put case normally has requests going to a wide variety of servers.  We should fail all the put requests that throw an IOE in Step 1 but continue to try all the put requests that succeed at this stage.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)