[
https://issues.apache.org/jira/browse/HBASE-14888?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15082096#comment-15082096
]
Matteo Bertozzi commented on HBASE-14888:
-----------------------------------------
in Admin you replaced the sync create/modify/delete namespace with an async
version.
what we did for create/delete/.. table was adding a "createTableAsync()" method
returning
the Future and keeping the "sync" method sync. the implementation in that was
opAsync().get()
so basically in Admin we have two set of method the one with the suffix Async()
that return the future and are async and the other one without the suffix that
are sync.
the getOperationType() was not supposed to be an enum. probably the name is
wrong, but the idea was more like a "operation user-friendly description". if
you look the only use is in getDescription(), and it was basically an helper to
avoid to rewrite the full description tableName + operationDesc.
where is the Future<ProcedureInfo> returned by the ClusterSchema gone?
I liked the fact to be able to create an instance of ClusterSchema and use it
more or less like Admin. with future = clusterSchema.createNamespace();
future.get()
now I have to know about the ProcedureExecutor and use the procId returned to
lookup the state/result, but maybe it's ok.
The blockOnProcedure() is ok for now, the only thing is that you can probably
use:
procExecutor.isFinished(procId) instead of doing that trick with
getResultOrProcedure() pairs.
> 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:
> 0001-Add-in-a-ClusterSchema-Interface.-It-will-have-all-Av2.patch,
> 14888.patch, 14888.v8.txt, 14888v11.patch, 14888v12.patch, 14888v13.patch,
> 14888v14.patch, 14888v15.patch, 14888v16.patch, 14888v17.txt, 14888v18.patch,
> 14888v19.patch, 14888v20.patch, 14888v3.txt, 14888v4.txt, 14888v5.txt,
> 14888v6.txt, 14888v7.txt, 14888v9.txt
>
>
> 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)