hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ashish Singhi (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-11386) Replication#table,CF config will be wrong if the table name includes namespace
Date Fri, 30 Oct 2015 14:27:27 GMT

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

Ashish Singhi commented on HBASE-11386:
---------------------------------------

Raised the priority of this issue.
Currently user cannot explicitly ask only for a namespace table data to replicate and if a
table with same name is present in 'n' different namespaces then data from all that namespaces
is getting replicated though user is not interested.

To fix this may be we can keep existing practice of specifying table CFs  as it is 
{noformat}
add_peer '3', "zk4,zk5,zk6:11000:/hbase-test", "table1; table2:cf1; table3:cf1,cf2"}} 
{noformat}
and can expand 
{noformat}
hbase> add_peer '10', ENDPOINT_CLASSNAME => 'org.apache.hadoop.hbase.MyReplicationEndpoint',
TABLE_CFS => { "table1" => [], "table2" => ["cf1"], "table3" => ["cf1", "cf2"]
}
{noformat}
to support namespace. Internally may be we can use '::' as a delimiter between a namespace
and a table.

So if user uses the former one to set table cfs then we can keep existing behavior as it is
and for latter one we can develop code to replicate only requested namespace data to replicate.

With this we will extend this functionality to allow user to specify only namespace, so for
that we can replicate all the data belonging only to that namespace.

[~qianxiZhang], are u still interested in working on this ? If not, I can happily take this
up.

> Replication#table,CF config will be wrong if the table name includes namespace
> ------------------------------------------------------------------------------
>
>                 Key: HBASE-11386
>                 URL: https://issues.apache.org/jira/browse/HBASE-11386
>             Project: HBase
>          Issue Type: Bug
>          Components: Replication
>            Reporter: Qianxi Zhang
>            Assignee: Qianxi Zhang
>            Priority: Critical
>         Attachments: HBASE_11386_trunk_v1.patch, HBASE_11386_trunk_v2.patch
>
>
> Now we can config the table and CF in Replication, but I think the parse will be wrong
if the table name includes namespace
> ReplicationPeer#parseTableCFsFromConfig(line 125)
> {code}
> Map<String, List<String>> tableCFsMap = null;
>     // parse out (table, cf-list) pairs from tableCFsConfig
>     // format: "table1:cf1,cf2;table2:cfA,cfB"
>     String[] tables = tableCFsConfig.split(";");
>     for (String tab : tables) {
>       // 1 ignore empty table config
>       tab = tab.trim();
>       if (tab.length() == 0) {
>         continue;
>       }
>       // 2 split to "table" and "cf1,cf2"
>       //   for each table: "table:cf1,cf2" or "table"
>       String[] pair = tab.split(":");
>       String tabName = pair[0].trim();
>       if (pair.length > 2 || tabName.length() == 0) {
>         LOG.error("ignore invalid tableCFs setting: " + tab);
>         continue;
>       }
> {code}



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

Mime
View raw message