[
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