You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by Evie Boland <eb...@hubspot.com.INVALID> on 2024/11/25 18:03:47 UTC

HBASE-28484: Add ability to replicate to a different tableName

Hi,

I put up a PR to give HBase users the ability configure namespace and tableName overrides on sink clusters during replication. 

Currently, replication can only occur if the source and sink clusters both house tables with the same (tableName, family) pairs. This requirement exists so that the sink cluster knows where to persist the data it receives from the source cluster. In this PR, we loosen the naming constraint for replication and give users the ability to configuration their own sink namespaces and tableNames. 

We do this by allowing users to set naming overrides on the ReplicationPeerConfig scoped to a namespace or tableName. We then send these overrides (along with WAL edits and bulk loaded HFile paths) to the ReplicationSink via a ReplicateWALEntryRequest. In the ReplicationSink, the mutations and bulk load paths are modified to apply to the sink's namespace and tableName. 

More info here: https://github.com/apache/hbase/pull/6484

Would love to get the community’s thoughts on it. Thank you for your consideration!

Best,
Evelyn Boland

Re: HBASE-28484: Add ability to replicate to a different tableName

Posted by "张铎(Duo Zhang)" <pa...@gmail.com>.
I've replied in the jira issue, that we'd better put up a design doc first.

This is a very useful feature but the patterns about how to change the
namespace/table name can be very flexible...

Thanks.

Evie Boland <eb...@hubspot.com.invalid> 于2024年11月26日周二 02:05写道:
>
> Hi,
>
> I put up a PR to give HBase users the ability configure namespace and tableName overrides on sink clusters during replication.
>
> Currently, replication can only occur if the source and sink clusters both house tables with the same (tableName, family) pairs. This requirement exists so that the sink cluster knows where to persist the data it receives from the source cluster. In this PR, we loosen the naming constraint for replication and give users the ability to configuration their own sink namespaces and tableNames.
>
> We do this by allowing users to set naming overrides on the ReplicationPeerConfig scoped to a namespace or tableName. We then send these overrides (along with WAL edits and bulk loaded HFile paths) to the ReplicationSink via a ReplicateWALEntryRequest. In the ReplicationSink, the mutations and bulk load paths are modified to apply to the sink's namespace and tableName.
>
> More info here: https://github.com/apache/hbase/pull/6484
>
> Would love to get the community’s thoughts on it. Thank you for your consideration!
>
> Best,
> Evelyn Boland