[
https://issues.apache.org/jira/browse/HBASE-1728?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jean-Daniel Cryans reassigned HBASE-1728:
-----------------------------------------
Assignee: Jean-Daniel Cryans
This jira is the next on my list. Here are my thoughts :
Ryan's point is valid (to be able to change HCD without disable) but resolving
that is outside of the scope of this jira (he agrees on that). This should not
be a blocker.
I'm not sure I agree that we should be able to set destinations on the family
scope. What kind of mess are you creating if all families from all tables are
going different ways? I don't see any reason why we should not at least first
have only local or global scope.
The KV should not carry the scoping information since it's only needed in HLog
where we already have access to the HTD.
As Andrew was saying in HBASE-2129, we need to be able to trace where an edit
is coming from and a Byte would be enough to hold that value. It should not go
in KV since that means we would store that in HFiles. I think the best would be
to put it in HLogKey. How chained clusters should handle that then is when we
have:
master1 => slave1 & master2 => slave2
The second node should use a new special field in Put and Delete to set the
original cluster Byte which will be passed down to HLog in order to create new
HLogKey with that same value. So slave2 will still receive the location of the
original cluster which may be master1 or master2. If we have a cycle:
... => slave3 & master1 => slave1 & master2 => slave2 & master3 => slave3 &
master1 =>...
Then each master needs to consider if the slave cluster it's pushing to is the
same as the one in the Byte of every edit it's about to replicate.
> Column family scoping
> ---------------------
>
> Key: HBASE-1728
> URL: https://issues.apache.org/jira/browse/HBASE-1728
> Project: Hadoop HBase
> Issue Type: Sub-task
> Reporter: Andrew Purtell
> Assignee: Jean-Daniel Cryans
> Fix For: 0.21.0
>
> Attachments: HCD-family-scoping.patch, HLogKey-scoping.patch
>
>
> Support column family scoping via a new HCD attribute. Add convenience
> methods. Add Thrift, REST, and Stargate support. Provide initial set of
> scoping constants and javadoc setting expectations for a simple default
> binary scoping policy: replicate, or do not. Make the underlying type Integer
> so more complex edit routing policies are possible.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.