hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Duo Zhang (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-19608) Race in MasterRpcServices.getProcedureResult
Date Mon, 25 Dec 2017 02:56:03 GMT

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

Duo Zhang commented on HBASE-19608:

We already have UTs can run into the problems otherwise I can not find the problem right?
The only thing is that it will not cause failure as we will retry on client.

This is a trivial change I think. We can add UT for it later as it is not easy to write a
UT here since this is a method at rpc layer. We need to do some hack.


> Race in MasterRpcServices.getProcedureResult
> --------------------------------------------
>                 Key: HBASE-19608
>                 URL: https://issues.apache.org/jira/browse/HBASE-19608
>             Project: HBase
>          Issue Type: Bug
>          Components: proc-v2
>            Reporter: Duo Zhang
>            Assignee: Duo Zhang
>             Fix For: 2.0.0-beta-1
>         Attachments: HBASE-19608-v1.patch, HBASE-19608.patch
> In ProcedureExecutor, we only consider a procedure to be finished when it is removed
from the procedures map. But in MasterRpcServices.getProcedureResult, we will use the state
of the procedure to determine whether it is finished. If setFailure is called, the procedure
may enter the FAILED state which indicates it is finished before being  removed from the procedure
map, and then causes an assertion when we calling ProcedureExecutor.removeResult in MasterRpcServices.getProcedureResult.

This message was sent by Atlassian JIRA

View raw message