hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jean-Daniel Cryans (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-8663) a HBase Shell command to list the tables replicated from current cluster
Date Fri, 09 Aug 2013 00:48:49 GMT

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

Jean-Daniel Cryans commented on HBASE-8663:

Thank you Demai for adding a unit test.

My IDE shows me that listReplicated's javadoc has an error because "none" is not a param.
I wonder if that's the issue, either way can you remove that line since it doesn't add anything?

Regarding the new test code, don't use uppercase for variables declared in a method's scope,
even if they are final.

Also the HTableDescriptor constructor you are using is now deprecated since namespaces were
added today (sorry about that). Please use the ctor that uses a TableName object.

Instead of doing this:

bq. if (match[i] != 1) fail("listReplicated() does not match table " + i);

Can you just assertTrue that the value isn't equal to 1?

I think you have a typo here:

bq. // should only increase onces
> a HBase Shell command to list the tables replicated from current cluster
> ------------------------------------------------------------------------
>                 Key: HBASE-8663
>                 URL: https://issues.apache.org/jira/browse/HBASE-8663
>             Project: HBase
>          Issue Type: New Feature
>          Components: Replication, shell
>         Environment: clusters setup as Master and Slave for replication of tables 
>            Reporter: Demai Ni
>            Assignee: Demai Ni
>            Priority: Critical
>             Fix For: 0.95.2
>         Attachments: HBASE-8663.PATCH, HBASE-8663-trunk-v0.patch, HBASE-8663-trunk-v1.patch,
HBASE-8663-trunk-v2.patch, HBASE-8663-trunk-v3.patch, HBASE-8663-v2.PATCH
> Thanks for the discussion and very good suggestions,I'd reduce the scope of this jira
to only display the tables replicated from current cluster. Since currently no good(accurate
and consistent) way to flag a table on slave cluster, this jira will not cover such scenario.
Instead, the patch will be flexible enough to adapt such scenario and a follow up JIRA will
be opened to address such situation. 
> The shell command and output will be like. Since all replication is 'global', so no need
to display the cluster name here. In the future, the command will be extended for other scenarios,
such as 1) replicated only to selected peers or 2) indicate table:colfam on slave side
> {code: title=hbase shell command:list_replicated_tables |borderStyle=solid}
> hbase(main):001:0> list_replicated_tables
> TABLE:COLUMNFAMILY                           ReplicationType                        
>  t1_dn:cf1                                   GLOBAL                                 
>  t2_dn:cf2                                   GLOBAL                                 
>  usertable:family                            GLOBAL                                 
> 3 row(s) in 0.4110 seconds
> hbase(main):003:0> list_replicated_tables "dn"
> TABLE:COLUMNFAMILY                           ReplicationType                        
>  t1_dn:cf1                                   GLOBAL                                 
>  t2_dn:cf2                                   GLOBAL                                 
> 2 row(s) in 0.0280 seconds
> {code} 
> -------------- The original JIRA description, keep as the history of discussion  ---------------
> This jira is to provide a hbase shell command which can give user can overview of the
tables/columnfamilies currently being replicated. The information will help system administrator
for design and planning, and also help application programmer to know which tables/columns
should be watchout(for example, not to modify a replicated columnfamily on the slave cluster)
> Currently there is no easy way to tell which table(s)/columnfamily(ies) 
> replicated from or to a particular cluster. 
> On Master Cluster, an indirect method can be used by combining two steps: 1) $describe
'usertable'  and 2)  $list_peers to map the REPLICATION_SCOPE to target(aka slave) cluster
> On slave cluster, this is no existing API/methods to list all the tables replicated to
this cluster.    
> Here is an example, and prototype for Master cluster
> {code: title=hbase shell command:list_replicated_tables |borderStyle=solid}
> hbase(main):001:0> list_replicated_tables
>  scores      course            hdtest017.svl.ibm.com:2181:/hbase
>  t3_dn       cf1               hdtest017.svl.ibm.com:2181:/hbase
>  usertable   family            hdtest017.svl.ibm.com:2181:/hbase
> 3 row(s) in 0.3380 seconds
> {code}
> -------------- end of original description 

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

View raw message