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

stack commented on HBASE-10915:
-------------------------------

You think +++ 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/consensus/CloseRegionConsensus.java
 should be in a subpackage?  Strikes me that it core to HRS operation so so 
should be at same level.

This is very nice:

{code}
-    int versionOfClosingNode = -1;
-    if (request.hasVersionOfClosingNode()) {
-      versionOfClosingNode = request.getVersionOfClosingNode();
-    }
-    boolean zk = request.getTransitionInZK();
     final ServerName sn = (request.hasDestinationServer() ?
       ProtobufUtil.toServerName(request.getDestinationServer()) : null);
 
@@ -887,10 +883,11 @@
       }
 
       requestCount.increment();
-      LOG.info("Close " + encodedRegionName + ", via zk=" + (zk ? "yes" : "no")
-        + ", znode version=" + versionOfClosingNode + ", on " + sn);
+      LOG.info("Close " + encodedRegionName + ", on " + sn);
+      CloseRegionConsensus.CloseRegionDetails crd = 
regionServer.getConsensusProvider()
+        .getCloseRegionConsensus().parseFromProtoRequest(request);
{code}

Hide that ugly zk stuff!

Good:

-      boolean closed = regionServer.closeRegion(encodedRegionName, false, zk, 
versionOfClosingNode, sn);
+      boolean closed = regionServer.closeRegion(encodedRegionName, false, crd, 
sn);

What can we do about this Mikhail?

+import org.apache.hadoop.hbase.regionserver.consensus.CloseRegionConsensus;
+import org.apache.hadoop.hbase.regionserver.consensus.ZkCloseRegionConsensus;

It seems odd that a o.a.h.h.consensus package would import lower-level RS 
stuff.  Can Interface only be up at this level but the impementation down in 
RS?   I suppose you want to have a listing of all the ZK implementations up 
here at the top level though they are implemented all over.  I suppose we could 
live w/ that but given the little trick above you do w/ details, you might have 
another up your sleeve to solve this package tangle.

Otherwise, this is close IMO ([~jxiang] You should take a look at this if you 
get a chance -- I think you'll like it)

> Decouple region closing (HM and HRS) from ZK
> --------------------------------------------
>
>                 Key: HBASE-10915
>                 URL: https://issues.apache.org/jira/browse/HBASE-10915
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Consensus, Zookeeper
>    Affects Versions: 0.99.0
>            Reporter: Mikhail Antonov
>            Assignee: Mikhail Antonov
>         Attachments: HBASE-10915.patch, HBASE-10915.patch, HBASE-10915.patch, 
> HBASE-10915.patch, HBASE-10915.patch, HBASE-10915.patch, HBASE-10915.patch, 
> HBASE-10915.patch, HBASE-10915.patch, HBASE-10915.patch
>
>
> Decouple region closing from ZK. 
> Includes RS side (CloseRegionHandler), HM side (ClosedRegionHandler) and the 
> code using (HRegionServer, RSRpcServices etc).
> May need small changes in AssignmentManager.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to