You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "stack (JIRA)" <ji...@apache.org> on 2015/11/26 06:46:10 UTC

[jira] [Updated] (HBASE-14888) ClusterSchema: Add Namespace Operations

     [ https://issues.apache.org/jira/browse/HBASE-14888?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack updated HBASE-14888:
--------------------------
    Attachment: 14888.patch

{code}
Add in a ClusterSchema Interface. It will have all API for  all cluster manipulation; adding namespaces, tables, amending column
 families, etc. The idea is to gather up our mess and put it all behind a tidy
 API that all works the same way returning a Future to wait on.

This patch does namespace operations first.

M  hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java
Just remove a hyphen from thread name. We were doubling up.

A hbase-common/src/main/java/org/apache/hadoop/hbase/Service.java
A very basic 'Service' Interface. To be enhanced later or replaced by
the guava Service (our guava is too old currently and its Service is not
as )

M hbase-common/src/main/java/org/apache/hadoop/hbase/ServiceNotRunningException.java
Moved this back to hbase-common so coul use it in new Service Interface.

A hbase-server/src/main/java/org/apache/hadoop/hbase/master/ClusterSchema.java
New ClusterSchema Interface. Has namespace API only and some utility as
well as a low-level API to fetch namespace table manager that probably
belongs elsewhere.

A hbase-server/src/main/java/org/apache/hadoop/hbase/master/ClusterSchemaException.java
A ClusterSchemeException. I don't think this is really needed so will
probably remove in later patch.

A hbase-server/src/main/java/org/apache/hadoop/hbase/master/ClusterSchemaService.java
Interface that is made of ClusterSchema and Service

A hbase-server/src/main/java/org/apache/hadoop/hbase/master/ClusterSchemaServiceImpl.java
Implementation. Moved stuff here from Master.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
Mix in ClusterSchema for namespace ops. All that remains in here is pre
and post coprocessor calls. Some cleanup around namespace init; make it
less complicated. Namespace ops don't have to be public anymore.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
Use new ClusterSchema when doing namespace ops.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterServices.java
Remove namespace particular ops and add getting of a ClusterSchema
instance instead.

A hbase-server/src/main/java/org/apache/hadoop/hbase/master/ProcedureFuture.java
Map procedure processing to a Future model. Probably belongs over in
procedure space. Can move later if generally useful.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/TableNamespaceManager.java
Cleanup
{code}

> ClusterSchema: Add Namespace Operations
> ---------------------------------------
>
>                 Key: HBASE-14888
>                 URL: https://issues.apache.org/jira/browse/HBASE-14888
>             Project: HBase
>          Issue Type: Sub-task
>          Components: API
>            Reporter: stack
>            Assignee: stack
>             Fix For: 2.0.0
>
>         Attachments: 14888.patch
>
>
> Add in a ClusterSchema Interface. It will have all API for all cluster manipulation; adding namespaces, tables, amending column families, etc. The idea is to gather up our mess and put it all behind a tidy API that all works the same way whatever you changing returning a Future to wait on and behind the scenes driving Procedures.
> This patch does namespace operations first.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)