[ https://issues.apache.org/jira/browse/HBASE-19114?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16245223#comment-16245223 ]
stack commented on HBASE-19114: ------------------------------- Hmmmm. I like this patch (Not sure about hbase-common depending on thirdparty...). Moving stuff out of hbase-server is an important project. It seems like new zk module would have 7 files as I count it (one of which would be the pom). [~Apache9] would like to avoid hbase-client having to depend on hbase-zookeeper in 2.0.0. I like the plan above for disentangling hbase-client. Move this out to hbase3 [~appy]? (There is good stuff in this patch that could go in apart from the making of the hbase-zookeeper module... do in separate JIRA?) > Split out o.a.h.h.zookeeper from hbase-server and hbase-client > -------------------------------------------------------------- > > Key: HBASE-19114 > URL: https://issues.apache.org/jira/browse/HBASE-19114 > Project: HBase > Issue Type: Sub-task > Reporter: Appy > Assignee: Appy > Fix For: 2.0.0-beta-1 > > Attachments: HBASE-19114.master.001.patch, > HBASE-19114.master.002.patch, HBASE-19114.master.003.patch, > HBASE-19114.master.004.patch, HBASE-19114.master.005.patch > > > Changes so far: > - Moved DrainingServerTracker and RegionServerTracker to > hbase-server:o.a.h.h.master. > - Move Abortable to hbase-common. Since it's IA.Private and independent of > anything, moving it to hbase-common which is at bottom of the dependency tree > is better. > - Moved RecoveringRegionWatcher to hbase-server:o.a.h.h.regionserver > - Moved SplitOrMergeTracker to oahh.master (because it depends on a PB) > - Moving hbase-client:oahh.zookeeper.* to hbase-zookeeper module. We want to > keep hbase-zookeeper very independent and hence at lowest levels in our > dependency tree. > - ZKUtil is a huge tangle since it's linked to almost everything in > \[hbase-client/]oahh.zookeeper. And pulling it down requires some basic proto > functions (mergeFrom, PBmagic, etc). So what i did was: > ** Pulled down common and basic protobuf functions (which only depend on > com.google.protobuf.\*) to hbase-common so other code depending on them can > be pulled down if possible/wanted in future. This will help future dependency > untangling too. These are ProtobufMagic and ProtobufHelpers. > ** Didn't move any hbase-specific PB stuff to hbase-common. We can't pull > things into hbase-common which add dependency between it and > hbase-protobuf/hbase-shaded-protobuf since we very recently untangled them. > - DEFAULT_REPLICA_ID is used in many places in ZK. Declared a new constant in > HConstants (since it's in hbase-common) and using it in hbase-zookeeper. > RegionInfo.DEFAULT_REPLICA_ID also takes its value from it to avoid case > where two values can become different. > - Renamed some classes to use a consistent naming for classes - ZK instead of > mix of ZK, Zk , ZooKeeper. Couldn't rename following public classes: > MiniZooKeeperCluster, ZooKeeperConnectionException. -- This message was sent by Atlassian JIRA (v6.4.14#64029)