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

stack commented on HBASE-20941:
-------------------------------

[~uagashe] I used this new setTableState this evening and I noticed that it 
just writes the state into hbase:meta. It does not update the in-memory state 
in the Master. For me, this meant I had to kill my current Master and go get 
another instance just so the in-memory state agreed w/ hbase:meta. Was 
wondering if you had something mind? I was thinking that we should just call 
TableStateManager#setTableState? What you reckon sir. Here's the patch:

{code}
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
index 6467ea2d57..df2c53327c 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
@@ -2333,8 +2333,9 @@ public class MasterRpcServices extends RSRpcServices
     TableName tn = ProtobufUtil.toTableName(request.getTableName());

     try {
-      HBaseProtos.TableState prevState = MetaTableAccessor.getTableState(conn, 
tn).convert();
-      MetaTableAccessor.updateTableState(conn, tn,
+      HBaseProtos.TableState prevState =
+          this.master.getTableStateManager().getTableState(tn).convert();
+      this.master.getTableStateManager().setTableState(tn,
           TableState.convert(tn, request.getTableState()).getState());
       return 
GetTableStateResponse.newBuilder().setTableState(prevState).build();
     } catch (Exception e) {
{code}

> Create and implement HbckService in master
> ------------------------------------------
>
>                 Key: HBASE-20941
>                 URL: https://issues.apache.org/jira/browse/HBASE-20941
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Umesh Agashe
>            Assignee: Umesh Agashe
>            Priority: Major
>             Fix For: 3.0.0, 2.2.0, 2.1.1, 2.0.2
>
>         Attachments: hbase-20941.master.001.patch, 
> hbase-20941.master.002.patch, hbase-20941.master.003.patch, 
> hbase-20941.master.004.patch, hbase-20941.master.004.patch, 
> hbase-20941.master.004.patch
>
>
> Create HbckService in master and implement following methods:
>  # setTableState(): If table state are inconsistent with action/ procedures 
> working on them, sometimes manipulating their states in meta fix things.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to