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

Sergey Shelukhin updated HBASE-8036:
------------------------------------

    Description: 
ProtobufUtil splits operations by regions and performs multiple client.multi 
calls. In case if there are certain errors inside RS, HRegionServer adds the 
corresponding exceptions to MultiResponse, PU continues the multi request for 
other regions, and returns partial failure. 
In case of other errors (for example, region not served exception), the entire 
multi operation stops executing, and previous successes and partial results are 
disregarded.
ProtobufUtil should probably catch ServiceException separately for each 
client.multi call, make it a partial-failure exception for all actions for this 
region, and also continue the batch, to make the behavior consistent.
Alternatively, if we want to avoid continuing the batch in case of some 
server-wide errors/connection problems/etc., server should do that for 
region-specific errors (add exception to results for each action).

  was:
ProtobufUtil splits operations by regions and performs multiple client.multi 
calls. In case if there are certain errors inside RS, HRegionServer adds the 
corresponding exceptions to MultiResponse, and PU continues the batch and 
returns partial failure. 
In case of other errors (for example, region not served exception), the entire 
batch stops executing, and previous successes and partial results are 
disregarded.
ProtobufUtil should probably catch ServiceException separately for multi-region 
batches, and make it a partial result for all actions for this region (and also 
continue the batch), to make the behavior consistent.
Alternatively server should do that for region-specific errors (add exception 
to results for each action), if we want to avoid continuing the batch in case 
of some server-wide errors/connection problems/etc.

    
> ProtobufUtil.multi behavior is inconsistent in case of errors
> -------------------------------------------------------------
>
>                 Key: HBASE-8036
>                 URL: https://issues.apache.org/jira/browse/HBASE-8036
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.95.0
>            Reporter: Sergey Shelukhin
>             Fix For: 0.95.0
>
>
> ProtobufUtil splits operations by regions and performs multiple client.multi 
> calls. In case if there are certain errors inside RS, HRegionServer adds the 
> corresponding exceptions to MultiResponse, PU continues the multi request for 
> other regions, and returns partial failure. 
> In case of other errors (for example, region not served exception), the 
> entire multi operation stops executing, and previous successes and partial 
> results are disregarded.
> ProtobufUtil should probably catch ServiceException separately for each 
> client.multi call, make it a partial-failure exception for all actions for 
> this region, and also continue the batch, to make the behavior consistent.
> Alternatively, if we want to avoid continuing the batch in case of some 
> server-wide errors/connection problems/etc., server should do that for 
> region-specific errors (add exception to results for each action).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to