hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chia-Ping Tsai (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-19900) Region-level exception destroy the result of batch
Date Sat, 03 Feb 2018 11:49:00 GMT

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

Chia-Ping Tsai commented on HBASE-19900:
----------------------------------------

The patch merge the check of action-level exception and region-lever exception. If the action
fail without any exception, we assign the region-level exception to it. If no region-level
exception exists, we assign a unknown error instead. In short, each action won't be handled
repeatedly so the following issues should be fixed.
 # decrease action count repeatedly
 # the successive result will be overwrited
 # The failed op is added to RetriesExhaustedWithDetailsException repeatedly 

The patch also add some debug info to trace the overwrite of result and exception. 

 

> 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: Critical
>             Fix For: 1.3.2, 1.5.0, 1.2.7, 2.0.0-beta-2, 1.4.2
>
>         Attachments: HBASE-19900.v0.patch
>
>
> 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)

Mime
View raw message