[
https://issues.apache.org/jira/browse/HBASE-19900?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chia-Ping Tsai updated HBASE-19900:
-----------------------------------
Description:
1) decrease action count repeatedly
If the AsyncRequestFuture#waitUntilDone return prematurely, user will get the
incorrect results. Or user will be block by AsyncRequestFuture#waitUntilDone as
the count is never equal with 0.
2) the successive result will be overwrited
3) The failed op is added to RetriesExhaustedWithDetailsException repeatedly
AsyncRequestFutureImpl#receiveMultiAction process the action-lever error first,
and then add the region-level exception to each action. Hence, user may get the
various exceptions for the same action (row op) from the
RetriesExhaustedWithDetailsException.
In fact, if both of action-level exception and region-lever exception exist,
they always have the same context. I'm not sure whether that is what
RetriesExhaustedWithDetailsException want. As i see it, we shouldn't have the
duplicate ops in RetriesExhaustedWithDetailsException since that may confuse
users if they catch the RetriesExhaustedWithDetailsException to check the
invalid operations.
was:
The inconsistency includes the following bug.
1) decrease action count repeatedly
If the AsyncRequestFuture#waitUntilDone return prematurely, user will get the
incorrect results. Or user will be block by AsyncRequestFuture#waitUntilDone as
the count is never equal with 0.
2) the successive result will be overwrited
3) The failed op is added to RetriesExhaustedWithDetailsException repeatedly
AsyncRequestFutureImpl#receiveMultiAction process the action-lever error first,
and then add the region-level exception to each action. Hence, user may get the
various exceptions for the same action (row op) from the
RetriesExhaustedWithDetailsException.
In fact, if both of action-level exception and region-lever exception exist,
they always have the same context. I'm not sure whether that is what
RetriesExhaustedWithDetailsException want. As i see it, we shouldn't have the
duplicate ops in RetriesExhaustedWithDetailsException since that may confuse
users if they catch the RetriesExhaustedWithDetailsException to check the
invalid operations.
> Region-level exception destroy the result of batch
> --------------------------------------------------
>
> Key: HBASE-19900
> URL: https://issues.apache.org/jira/browse/HBASE-19900
> Project: HBase
> Issue Type: Bug
> Reporter: Chia-Ping Tsai
> Assignee: Chia-Ping Tsai
> Priority: Minor
>
> 1) decrease action count repeatedly
> If the AsyncRequestFuture#waitUntilDone return prematurely, user will get the
> incorrect results. Or user will be block by AsyncRequestFuture#waitUntilDone
> as the count is never equal with 0.
> 2) the successive result will be overwrited
> 3) The failed op is added to RetriesExhaustedWithDetailsException repeatedly
> AsyncRequestFutureImpl#receiveMultiAction process the action-lever error
> first, and then add the region-level exception to each action. Hence, user
> may get the various exceptions for the same action (row op) from the
> RetriesExhaustedWithDetailsException.
> In fact, if both of action-level exception and region-lever exception exist,
> they always have the same context. I'm not sure whether that is what
> RetriesExhaustedWithDetailsException want. As i see it, we shouldn't have the
> duplicate ops in RetriesExhaustedWithDetailsException since that may confuse
> users if they catch the RetriesExhaustedWithDetailsException to check the
> invalid operations.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)