[jira] [Commented] (HBASE-25761) POC: hbase:meta,,1 as ROOT

2021-07-02 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-25761:
-

[~stack] Sounds good I'll integrate it into the doc. Online meeting sounds good 
too. I think the meeting time in PST might need to be an hour later to 
accomodate the difference in hour that DST introduces.

> POC: hbase:meta,,1 as ROOT
> --
>
> Key: HBASE-25761
> URL: https://issues.apache.org/jira/browse/HBASE-25761
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Michael Stack
>Assignee: Francis Christopher Liu
>Priority: Major
>
> One of the proposals up in the split-meta design doc suggests a 
> sleight-of-hand where the current hard-coded hbase:meta,,1 Region is 
> leveraged to serve as first Region of a split hbase:meta but also does 
> double-duty as 'ROOT'. This suggestion was put aside as a complicating 
> recursion in chat but then Francis noticed on a re-read of the BigTable 
> paper, that this is how they describe they do 'ROOT': "The root tablet is 
> just the first tablet in the METADATA table, but is treated specially -- it 
> is never split..."
> This issue is for playing around with this notion to see what the problems 
> are so can do a better description of this approach here, in the design:
> https://docs.google.com/document/d/11ChsSb2LGrSzrSJz8pDCAw5IewmaMV0ZDN1LrMkAj4s/edit?ts=606c120f#heading=h.ikbhxlcthjle



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-25761) POC: hbase:meta,,1 as ROOT

2021-06-22 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-25761:
-

I see, thanks for clarifying. I think I do understand, I just don't think it 
would go down the route of dying for reasons mention earlier: possibly enabling 
it by default in all or subset of tests, removing the compatibility switch and 
then there's adoption. In general I think the death of a feature is because of 
a mix of lack of support and adoption. Since we are guaranteeing rolling 
upgradeabbility from 2.x it is something that I think all implementations would 
run into, perhaps maybe a little more for single meta region than the others 
but arguably inconsequential from this perspective (eg the code for multiple 
meta is not exercised). 

Perhaps this is something we can discuss further in a video call sync-up with 
[~stack] and hopefully a bunch of other folks that are interested? I think we 
should have a sync-up discussion for split meta in general anyway.

> POC: hbase:meta,,1 as ROOT
> --
>
> Key: HBASE-25761
> URL: https://issues.apache.org/jira/browse/HBASE-25761
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Michael Stack
>Assignee: Francis Christopher Liu
>Priority: Major
>
> One of the proposals up in the split-meta design doc suggests a 
> sleight-of-hand where the current hard-coded hbase:meta,,1 Region is 
> leveraged to serve as first Region of a split hbase:meta but also does 
> double-duty as 'ROOT'. This suggestion was put aside as a complicating 
> recursion in chat but then Francis noticed on a re-read of the BigTable 
> paper, that this is how they describe they do 'ROOT': "The root tablet is 
> just the first tablet in the METADATA table, but is treated specially -- it 
> is never split..."
> This issue is for playing around with this notion to see what the problems 
> are so can do a better description of this approach here, in the design:
> https://docs.google.com/document/d/11ChsSb2LGrSzrSJz8pDCAw5IewmaMV0ZDN1LrMkAj4s/edit?ts=606c120f#heading=h.ikbhxlcthjle



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-25761) POC: hbase:meta,,1 as ROOT

2021-06-17 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-25761:
-

{quote}
The difference comparing to a general root table and master local region here 
is that, even we do not split meta, the root table and master local region is 
there, most of the code will be executed. For example, the tiered assignment 
and initialization.
{quote}
Yes and I think more importantly applying a different perspective there's new 
operational complexity exposed to the operator (and possibly the user).

{quote}
In general, for me, the first meta as root solution is very like a compromise, 
you need to do lots of magics in the row key and comparator, just like what I 
have done in the master local region implementation, as we will also store 
procedure data in the same region. But at least, the master local region will 
use different families to store the data, so when reading we do not need to add 
special filters...
{quote}
I see. From my perspective the difference in logic between _first meta region_ 
and  _root table_ implementation is fairly straightforward, the composite 
comparator has fairly simple logic, route based on presence/absence of prefix 
character. For data access the key just needs to be prepended with the prefix 
character, I haven't thought of a case yet wherein we'd need a specialized 
filter (the rough PoC doesn't have one). The prefixing approach is also a 
common end-user design pattern to achieve spatial locality for keys. Although 
yes it would be a bit cleaner if the data would be in a separate hbase:root 
table but I felt there's a good chance the community might see that (IMHO 
small) difference a reasonable tradeoff for its compelling backward 
compatibility characteristics. Hence it felt reasonable enough to include in 
the discussion and hear what people think.

{quote}
And about the reviewing the implementing, trust me, no matter root table or 
master local region, there are no big differences on the implementing steps.
{quote}
I see. I think there seems to be a significant difference between _first meta 
region_ and _root table_ such that the former would be smoother (eg includes 
the incremental disruption the steps produce) to get in wether it is a a big 
difference across all three proposed solutions that I have not looked into. 
Since you don't see any difference and this currently isn't a deciding factor 
we don't really need to delve further unless needed.




> POC: hbase:meta,,1 as ROOT
> --
>
> Key: HBASE-25761
> URL: https://issues.apache.org/jira/browse/HBASE-25761
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Michael Stack
>Assignee: Francis Christopher Liu
>Priority: Major
>
> One of the proposals up in the split-meta design doc suggests a 
> sleight-of-hand where the current hard-coded hbase:meta,,1 Region is 
> leveraged to serve as first Region of a split hbase:meta but also does 
> double-duty as 'ROOT'. This suggestion was put aside as a complicating 
> recursion in chat but then Francis noticed on a re-read of the BigTable 
> paper, that this is how they describe they do 'ROOT': "The root tablet is 
> just the first tablet in the METADATA table, but is treated specially -- it 
> is never split..."
> This issue is for playing around with this notion to see what the problems 
> are so can do a better description of this approach here, in the design:
> https://docs.google.com/document/d/11ChsSb2LGrSzrSJz8pDCAw5IewmaMV0ZDN1LrMkAj4s/edit?ts=606c120f#heading=h.ikbhxlcthjle



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-25761) POC: hbase:meta,,1 as ROOT

2021-06-15 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu edited comment on HBASE-25761 at 6/16/21, 5:41 AM:
---

{quote}
If we do not split, it just perform like before, so for most cases where meta 
is not too large, we can not test the new code. It is easy to finally lead the 
feature to die as the most easy way to fix the problem is to not split meta... 
We have purged several features in the past already...
{quote}
I see, reasonable concerns from a testing and feature adoption perspective. The 
thought was to be backward compatible and have split meta off by default to be 
rolling upgradeable from 2.x to 3.x as defined in the requirements section of 
the [design  
doc|https://docs.google.com/document/d/11ChsSb2LGrSzrSJz8pDCAw5IewmaMV0ZDN1LrMkAj4s/edit?ts=606c120f#heading=h.hlxgjlyq79ge].
 If there is such a switch then we could also use that switch to split the 
original first meta region (having a total of 2 meta regions) when it is turned 
on. And for testing perhaps we could turn it on by default or turn it on in 
cases that need it? Removing the switch would then end support for single meta 
case.

{quote}
And for reviewing and checking in, I do not think it is a big deal, I've been 
implementing almost the whole feature on a feature branch already, not very 
hard to do it step by step.
{quote}
I see in this case you are comparing it against the 
[master-local|https://docs.google.com/document/d/11ChsSb2LGrSzrSJz8pDCAw5IewmaMV0ZDN1LrMkAj4s/edit?ts=606c120f#heading=h.djjy98rqkyig]
 implementation and not the [hbase:root 
table|https://docs.google.com/document/d/11ChsSb2LGrSzrSJz8pDCAw5IewmaMV0ZDN1LrMkAj4s/edit?ts=606c120f#heading=h.9lp7l2j5mefg]
 one.


was (Author: toffer):
{quote}
If we do not split, it just perform like before, so for most cases where meta 
is not too large, we can not test the new code. It is easy to finally lead the 
feature to die as the most easy way to fix the problem is to not split meta... 
We have purged several features in the past already...
{quote}
I see, reasonable concerns from a testing and feature adoption perspective. The 
thought was to be backward compatible and have split meta off by default to be 
rolling upgradeable from 2.x to 3.x as defined in the [requirements 
doc|https://docs.google.com/document/d/11ChsSb2LGrSzrSJz8pDCAw5IewmaMV0ZDN1LrMkAj4s/edit?ts=606c120f#heading=h.hlxgjlyq79ge].
 If there is such a switch then we could also use that switch to split the 
original first meta region (having a total of 2 meta regions) when it is turned 
on. And for testing perhaps we could turn it on by default or turn it on in 
cases that need it? Removing the switch would then end support for single meta.

{quote}
And for reviewing and checking in, I do not think it is a big deal, I've been 
implementing almost the whole feature on a feature branch already, not very 
hard to do it step by step.
{quote}
I see in this case you are comparing it against the 
[master-local|https://docs.google.com/document/d/11ChsSb2LGrSzrSJz8pDCAw5IewmaMV0ZDN1LrMkAj4s/edit?ts=606c120f#heading=h.djjy98rqkyig]
 implementation and not the [hbase:root 
table|https://docs.google.com/document/d/11ChsSb2LGrSzrSJz8pDCAw5IewmaMV0ZDN1LrMkAj4s/edit?ts=606c120f#heading=h.9lp7l2j5mefg]
 one.

> POC: hbase:meta,,1 as ROOT
> --
>
> Key: HBASE-25761
> URL: https://issues.apache.org/jira/browse/HBASE-25761
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Michael Stack
>Assignee: Francis Christopher Liu
>Priority: Major
>
> One of the proposals up in the split-meta design doc suggests a 
> sleight-of-hand where the current hard-coded hbase:meta,,1 Region is 
> leveraged to serve as first Region of a split hbase:meta but also does 
> double-duty as 'ROOT'. This suggestion was put aside as a complicating 
> recursion in chat but then Francis noticed on a re-read of the BigTable 
> paper, that this is how they describe they do 'ROOT': "The root tablet is 
> just the first tablet in the METADATA table, but is treated specially -- it 
> is never split..."
> This issue is for playing around with this notion to see what the problems 
> are so can do a better description of this approach here, in the design:
> https://docs.google.com/document/d/11ChsSb2LGrSzrSJz8pDCAw5IewmaMV0ZDN1LrMkAj4s/edit?ts=606c120f#heading=h.ikbhxlcthjle



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-25761) POC: hbase:meta,,1 as ROOT

2021-06-15 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-25761:
-

{quote}
If we do not split, it just perform like before, so for most cases where meta 
is not too large, we can not test the new code. It is easy to finally lead the 
feature to die as the most easy way to fix the problem is to not split meta... 
We have purged several features in the past already...
{quote}
I see, reasonable concerns from a testing and feature adoption perspective. The 
thought was to be backward compatible and have split meta off by default to be 
rolling upgradeable from 2.x to 3.x as defined in the [requirements 
doc|https://docs.google.com/document/d/11ChsSb2LGrSzrSJz8pDCAw5IewmaMV0ZDN1LrMkAj4s/edit?ts=606c120f#heading=h.hlxgjlyq79ge].
 If there is such a switch then we could also use that switch to split the 
original first meta region (having a total of 2 meta regions) when it is turned 
on. And for testing perhaps we could turn it on by default or turn it on in 
cases that need it? Removing the switch would then end support for single meta.

{quote}
And for reviewing and checking in, I do not think it is a big deal, I've been 
implementing almost the whole feature on a feature branch already, not very 
hard to do it step by step.
{quote}
I see in this case you are comparing it against the 
[master-local|https://docs.google.com/document/d/11ChsSb2LGrSzrSJz8pDCAw5IewmaMV0ZDN1LrMkAj4s/edit?ts=606c120f#heading=h.djjy98rqkyig]
 implementation and not the [hbase:root 
table|https://docs.google.com/document/d/11ChsSb2LGrSzrSJz8pDCAw5IewmaMV0ZDN1LrMkAj4s/edit?ts=606c120f#heading=h.9lp7l2j5mefg]
 one.

> POC: hbase:meta,,1 as ROOT
> --
>
> Key: HBASE-25761
> URL: https://issues.apache.org/jira/browse/HBASE-25761
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Michael Stack
>Assignee: Francis Christopher Liu
>Priority: Major
>
> One of the proposals up in the split-meta design doc suggests a 
> sleight-of-hand where the current hard-coded hbase:meta,,1 Region is 
> leveraged to serve as first Region of a split hbase:meta but also does 
> double-duty as 'ROOT'. This suggestion was put aside as a complicating 
> recursion in chat but then Francis noticed on a re-read of the BigTable 
> paper, that this is how they describe they do 'ROOT': "The root tablet is 
> just the first tablet in the METADATA table, but is treated specially -- it 
> is never split..."
> This issue is for playing around with this notion to see what the problems 
> are so can do a better description of this approach here, in the design:
> https://docs.google.com/document/d/11ChsSb2LGrSzrSJz8pDCAw5IewmaMV0ZDN1LrMkAj4s/edit?ts=606c120f#heading=h.ikbhxlcthjle



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-25761) POC: hbase:meta,,1 as ROOT

2021-06-15 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu edited comment on HBASE-25761 at 6/16/21, 3:30 AM:
---

Thanks for your comment [~zhangduo].

>From what I can gather from the rough PoC that I did was that the salient 
>difference between this implementation and the root table implementation is 
>around the theme of backward compatibility. Some of which might seem valuable 
>to the community hence I wonder what the community thinks:

# The compatibility code is built-in as part of the core implementation there 
is no extra code to support backward compatibility
# It introduces no new major artifacts, such that:
#* If hbase:meta region is not split it operationally will behave pretty much 
exactly the same way as before (no operator changes, user changes, etc). As 
opposed to having to be aware of the new hbase:root region from the get go.
#*  If hbase:meta region is split. Users/Operators only have to worry about 
hbase:meta regions (which one would have to in any split meta implementation), 
no new hbase:root table to worry about. Although yes one would need to be aware 
of the first meta region getting assigned first.
# I think it might also be smoother to get reviewed and checked in
#* Intuitively given 1 & 2, I think it might be easier to add things more piece 
meal vs root table







was (Author: toffer):
Thanks for your comment [~zhangduo].

>From what I can gather from the rough PoC that I did was that the salient 
>difference between this implementation and the root table implementation is 
>around the theme of backward compatibility. Some of which might seem valuable 
>to the community hence I wonder what the community thinks:

1. The compatibility code is built-in as part of the core implementation there 
is no extra code to support backward compatibility
2. It introduces no new major artifacts, such that:
  2.a If hbase:meta region is not split it operationally will behave pretty 
much exactly the same way as before (no operator changes, user changes, etc). 
As opposed to having to be aware of the new hbase:root region from the get go.
  2.b If hbase:meta region is split. Users/Operators only have to worry about 
hbase:meta regions (which one would have to in any split meta implementation), 
no new hbase:root table to worry about. Although yes one would need to be aware 
of the first meta region getting assigned first.
3. I think it might also be smoother to get reviewed and checked in
  3.a Intuitively given 1 & 2, I think it might be easier to add things more 
piece meal vs root table






> POC: hbase:meta,,1 as ROOT
> --
>
> Key: HBASE-25761
> URL: https://issues.apache.org/jira/browse/HBASE-25761
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Michael Stack
>Assignee: Francis Christopher Liu
>Priority: Major
>
> One of the proposals up in the split-meta design doc suggests a 
> sleight-of-hand where the current hard-coded hbase:meta,,1 Region is 
> leveraged to serve as first Region of a split hbase:meta but also does 
> double-duty as 'ROOT'. This suggestion was put aside as a complicating 
> recursion in chat but then Francis noticed on a re-read of the BigTable 
> paper, that this is how they describe they do 'ROOT': "The root tablet is 
> just the first tablet in the METADATA table, but is treated specially -- it 
> is never split..."
> This issue is for playing around with this notion to see what the problems 
> are so can do a better description of this approach here, in the design:
> https://docs.google.com/document/d/11ChsSb2LGrSzrSJz8pDCAw5IewmaMV0ZDN1LrMkAj4s/edit?ts=606c120f#heading=h.ikbhxlcthjle



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-25761) POC: hbase:meta,,1 as ROOT

2021-06-15 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu edited comment on HBASE-25761 at 6/16/21, 3:27 AM:
---

Thanks for your comment [~zhangduo].

>From what I can gather from the rough PoC that I did was that the salient 
>difference between this implementation and the root table implementation is 
>around the theme of backward compatibility. Some of which might seem valuable 
>to the community hence I wonder what the community thinks:

1. The compatibility code is built-in as part of the core implementation there 
is no extra code to support backward compatibility
2. It introduces no new major artifacts, such that:
  2.a If hbase:meta region is not split it operationally will behave pretty 
much exactly the same way as before (no operator changes, user changes, etc). 
As opposed to having to be aware of the new hbase:root region from the get go.
  2.b If hbase:meta region is split. Users/Operators only have to worry about 
hbase:meta regions (which one would have to in any split meta implementation), 
no new hbase:root table to worry about. Although yes one would need to be aware 
of the first meta region getting assigned first.
3. I think it might also be smoother to get reviewed and checked in
  3.a Intuitively given 1 & 2, I think it might be easier to add things more 
piece meal vs root table







was (Author: toffer):
Thanks for your comment [~zhangduo].

>From what I can gather from the rough PoC that I did was that the salient 
>difference between this implementation and the root table implementation is 
>around the theme of backward compatibility. Some of which might seem valuable 
>to the community hence I wonder what the community thinks:

1. The compatibility code is built-in as part of the core implementation there 
is no extra code to support backward compatibility
2. It introduces no new major artifacts, such that:
  - If hbase:meta region is not split it operationally will behave pretty much 
exactly the same way as before (no operator changes, user changes, etc). As 
opposed to having to be aware of the new hbase:root region from the get go.
  - If hbase:meta region is split. Users/Operators only have to worry about 
hbase:meta regions (which one would have to in any split meta implementation), 
no new hbase:root table to worry about. Although yes one would need to be aware 
of the first meta region getting assigned first.
3. I think it might also be smoother to get reviewed and checked in
  - Intuitively given 1 & 2, I think it might be easier to add things more 
piece meal vs root table






> POC: hbase:meta,,1 as ROOT
> --
>
> Key: HBASE-25761
> URL: https://issues.apache.org/jira/browse/HBASE-25761
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Michael Stack
>Assignee: Francis Christopher Liu
>Priority: Major
>
> One of the proposals up in the split-meta design doc suggests a 
> sleight-of-hand where the current hard-coded hbase:meta,,1 Region is 
> leveraged to serve as first Region of a split hbase:meta but also does 
> double-duty as 'ROOT'. This suggestion was put aside as a complicating 
> recursion in chat but then Francis noticed on a re-read of the BigTable 
> paper, that this is how they describe they do 'ROOT': "The root tablet is 
> just the first tablet in the METADATA table, but is treated specially -- it 
> is never split..."
> This issue is for playing around with this notion to see what the problems 
> are so can do a better description of this approach here, in the design:
> https://docs.google.com/document/d/11ChsSb2LGrSzrSJz8pDCAw5IewmaMV0ZDN1LrMkAj4s/edit?ts=606c120f#heading=h.ikbhxlcthjle



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-25761) POC: hbase:meta,,1 as ROOT

2021-06-15 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-25761:
-

Thanks for your comment [~zhangduo].

>From what I can gather from the rough PoC that I did was that the salient 
>difference between this implementation and the root table implementation is 
>around the theme of backward compatibility. Some of which might seem valuable 
>to the community hence I wonder what the community thinks:

1. The compatibility code is built-in as part of the core implementation there 
is no extra code to support backward compatibility
2. It introduces no new major artifacts, such that:
  - If hbase:meta region is not split it operationally will behave pretty much 
exactly the same way as before (no operator changes, user changes, etc). As 
opposed to having to be aware of the new hbase:root region from the get go.
  - If hbase:meta region is split. Users/Operators only have to worry about 
hbase:meta regions (which one would have to in any split meta implementation), 
no new hbase:root table to worry about. Although yes one would need to be aware 
of the first meta region getting assigned first.
3. I think it might also be smoother to get reviewed and checked in
  - Intuitively given 1 & 2, I think it might be easier to add things more 
piece meal vs root table






> POC: hbase:meta,,1 as ROOT
> --
>
> Key: HBASE-25761
> URL: https://issues.apache.org/jira/browse/HBASE-25761
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Michael Stack
>Assignee: Francis Christopher Liu
>Priority: Major
>
> One of the proposals up in the split-meta design doc suggests a 
> sleight-of-hand where the current hard-coded hbase:meta,,1 Region is 
> leveraged to serve as first Region of a split hbase:meta but also does 
> double-duty as 'ROOT'. This suggestion was put aside as a complicating 
> recursion in chat but then Francis noticed on a re-read of the BigTable 
> paper, that this is how they describe they do 'ROOT': "The root tablet is 
> just the first tablet in the METADATA table, but is treated specially -- it 
> is never split..."
> This issue is for playing around with this notion to see what the problems 
> are so can do a better description of this approach here, in the design:
> https://docs.google.com/document/d/11ChsSb2LGrSzrSJz8pDCAw5IewmaMV0ZDN1LrMkAj4s/edit?ts=606c120f#heading=h.ikbhxlcthjle



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-25761) POC: hbase:meta,,1 as ROOT

2021-06-15 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-25761:
-

Attached are my findings, I've distilled them in a 1-pager design doc. I hope 
it's helpful. Comments are very much appreciated.

> POC: hbase:meta,,1 as ROOT
> --
>
> Key: HBASE-25761
> URL: https://issues.apache.org/jira/browse/HBASE-25761
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Michael Stack
>Assignee: Francis Christopher Liu
>Priority: Major
>
> One of the proposals up in the split-meta design doc suggests a 
> sleight-of-hand where the current hard-coded hbase:meta,,1 Region is 
> leveraged to serve as first Region of a split hbase:meta but also does 
> double-duty as 'ROOT'. This suggestion was put aside as a complicating 
> recursion in chat but then Francis noticed on a re-read of the BigTable 
> paper, that this is how they describe they do 'ROOT': "The root tablet is 
> just the first tablet in the METADATA table, but is treated specially -- it 
> is never split..."
> This issue is for playing around with this notion to see what the problems 
> are so can do a better description of this approach here, in the design:
> https://docs.google.com/document/d/11ChsSb2LGrSzrSJz8pDCAw5IewmaMV0ZDN1LrMkAj4s/edit?ts=606c120f#heading=h.ikbhxlcthjle



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-25761) POC: hbase:meta,,1 as ROOT

2021-05-11 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-25761:
-

Been working on this the past couple of weeks. I'm hacking my existing Root 
Table branch and converting it to first hbase:meta region as root. I've been 
making changes to get the bare minimum working for us to better understand the 
pros/cons. 

> POC: hbase:meta,,1 as ROOT
> --
>
> Key: HBASE-25761
> URL: https://issues.apache.org/jira/browse/HBASE-25761
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Michael Stack
>Assignee: Francis Christopher Liu
>Priority: Major
>
> One of the proposals up in the split-meta design doc suggests a 
> sleight-of-hand where the current hard-coded hbase:meta,,1 Region is 
> leveraged to serve as first Region of a split hbase:meta but also does 
> double-duty as 'ROOT'. This suggestion was put aside as a complicating 
> recursion in chat but then Francis noticed on a re-read of the BigTable 
> paper, that this is how they describe they do 'ROOT': "The root tablet is 
> just the first tablet in the METADATA table, but is treated specially -- it 
> is never split..."
> This issue is for playing around with this notion to see what the problems 
> are so can do a better description of this approach here, in the design:
> https://docs.google.com/document/d/11ChsSb2LGrSzrSJz8pDCAw5IewmaMV0ZDN1LrMkAj4s/edit?ts=606c120f#heading=h.ikbhxlcthjle



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Assigned] (HBASE-25761) POC: hbase:meta,,1 as ROOT

2021-05-11 Thread Francis Christopher Liu (Jira)


 [ 
https://issues.apache.org/jira/browse/HBASE-25761?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Francis Christopher Liu reassigned HBASE-25761:
---

Assignee: Francis Christopher Liu

> POC: hbase:meta,,1 as ROOT
> --
>
> Key: HBASE-25761
> URL: https://issues.apache.org/jira/browse/HBASE-25761
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Michael Stack
>Assignee: Francis Christopher Liu
>Priority: Major
>
> One of the proposals up in the split-meta design doc suggests a 
> sleight-of-hand where the current hard-coded hbase:meta,,1 Region is 
> leveraged to serve as first Region of a split hbase:meta but also does 
> double-duty as 'ROOT'. This suggestion was put aside as a complicating 
> recursion in chat but then Francis noticed on a re-read of the BigTable 
> paper, that this is how they describe they do 'ROOT': "The root tablet is 
> just the first tablet in the METADATA table, but is treated specially -- it 
> is never split..."
> This issue is for playing around with this notion to see what the problems 
> are so can do a better description of this approach here, in the design:
> https://docs.google.com/document/d/11ChsSb2LGrSzrSJz8pDCAw5IewmaMV0ZDN1LrMkAj4s/edit?ts=606c120f#heading=h.ikbhxlcthjle



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-11288) Splittable Meta

2020-12-04 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu edited comment on HBASE-11288 at 12/5/20, 5:38 AM:
---

Good idea [~stack]. +1 Let's leave the baggage here so it'll be easier for the 
community to get involved.


was (Author: toffer):
Good idea [~stack]. +1 Let's leave the baggage here so it'll be easier for the 
community to get invovled.

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
> Attachments: jstack20200807_bad_rpc_priority.txt, root_priority.patch
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-12-04 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

Good idea [~stack]. +1 Let's leave the baggage here so it'll be easier for the 
community to get invovled.

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
> Attachments: jstack20200807_bad_rpc_priority.txt, root_priority.patch
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (HBASE-25087) Splittable Meta: Generalize handling of meta regions to support splittable meta

2020-09-23 Thread Francis Christopher Liu (Jira)
Francis Christopher Liu created HBASE-25087:
---

 Summary: Splittable Meta: Generalize handling of meta regions to 
support splittable meta
 Key: HBASE-25087
 URL: https://issues.apache.org/jira/browse/HBASE-25087
 Project: HBase
  Issue Type: Sub-task
Reporter: Francis Christopher Liu
Assignee: Francis Christopher Liu






--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (HBASE-25056) Splittable Meta: foward port fixes from hbase-2 branch and stabilize unit tests

2020-09-23 Thread Francis Christopher Liu (Jira)


 [ 
https://issues.apache.org/jira/browse/HBASE-25056?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Francis Christopher Liu resolved HBASE-25056.
-
Resolution: Fixed

> Splittable Meta: foward port fixes from hbase-2 branch and stabilize unit 
> tests
> ---
>
> Key: HBASE-25056
> URL: https://issues.apache.org/jira/browse/HBASE-25056
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-25056) Splittable Meta: foward port fixes from hbase-2 branch and stabilize unit tests

2020-09-23 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-25056:
-

Completed forward port a few tests are failing but acceptable enough to 
stabilize furter as part of the next task.

> Splittable Meta: foward port fixes from hbase-2 branch and stabilize unit 
> tests
> ---
>
> Key: HBASE-25056
> URL: https://issues.apache.org/jira/browse/HBASE-25056
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Assigned] (HBASE-25056) Splittable Meta: foward port fixes from hbase-2 branch and stabilize unit tests

2020-09-23 Thread Francis Christopher Liu (Jira)


 [ 
https://issues.apache.org/jira/browse/HBASE-25056?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Francis Christopher Liu reassigned HBASE-25056:
---

Assignee: Francis Christopher Liu

> Splittable Meta: foward port fixes from hbase-2 branch and stabilize unit 
> tests
> ---
>
> Key: HBASE-25056
> URL: https://issues.apache.org/jira/browse/HBASE-25056
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (HBASE-25056) Splittable Meta: foward port fixes from hbase-2 branch and stabilize unit tests

2020-09-17 Thread Francis Christopher Liu (Jira)
Francis Christopher Liu created HBASE-25056:
---

 Summary: Splittable Meta: foward port fixes from hbase-2 branch 
and stabilize unit tests
 Key: HBASE-25056
 URL: https://issues.apache.org/jira/browse/HBASE-25056
 Project: HBase
  Issue Type: Sub-task
Reporter: Francis Christopher Liu






--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (HBASE-25028) Rebase Splittable Meta Master branch

2020-09-17 Thread Francis Christopher Liu (Jira)


 [ 
https://issues.apache.org/jira/browse/HBASE-25028?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Francis Christopher Liu resolved HBASE-25028.
-
Resolution: Fixed

> Rebase Splittable Meta Master branch
> 
>
> Key: HBASE-25028
> URL: https://issues.apache.org/jira/browse/HBASE-25028
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>
> It's been a while since the branch was rebased and there were significant 
> changes that affected the patch that went in. I've been working on this.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-25028) Rebase Splittable Meta Master branch

2020-09-17 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-25028:
-

Rebased and flattened the commits. 

> Rebase Splittable Meta Master branch
> 
>
> Key: HBASE-25028
> URL: https://issues.apache.org/jira/browse/HBASE-25028
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>
> It's been a while since the branch was rebased and there were significant 
> changes that affected the patch that went in. I've been working on this.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (HBASE-25028) Rebase Splittable Meta Master branch

2020-09-15 Thread Francis Christopher Liu (Jira)
Francis Christopher Liu created HBASE-25028:
---

 Summary: Rebase Splittable Meta Master branch
 Key: HBASE-25028
 URL: https://issues.apache.org/jira/browse/HBASE-25028
 Project: HBase
  Issue Type: Sub-task
Reporter: Francis Christopher Liu
Assignee: Francis Christopher Liu


It's been a while since the branch was rebased and there were significant 
changes that affected the patch that went in. I've been working on this.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-09-15 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

Thanks [~apurtell] for clarifying that. I've filed HBASE-25027 to capture the 
discussion so we don't have to revisit it here again.

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
> Attachments: jstack20200807_bad_rpc_priority.txt, root_priority.patch
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (HBASE-25027) Generalize MasterRegistry, etc to support both Master and Regionserver

2020-09-15 Thread Francis Christopher Liu (Jira)
Francis Christopher Liu created HBASE-25027:
---

 Summary: Generalize MasterRegistry, etc  to support both Master 
and Regionserver
 Key: HBASE-25027
 URL: https://issues.apache.org/jira/browse/HBASE-25027
 Project: HBase
  Issue Type: Improvement
Reporter: Francis Christopher Liu
Assignee: Francis Christopher Liu


Creating a jira to capture a discussion in 
[HBASE-11288|https://issues.apache.org/jira/browse/HBASE-11288?focusedCommentId=17194403=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-17194403].
 

The discussion came out of avoiding the master from being part of the 
read/write path. 

As per [~andrew.purt...@gmail.com]

"Generalizing the work to "bootstrap servers" that could be operating in either 
of master or regionserver roles seems fine but please let's make that a new 
JIRA or at least its own subtask."

This is currently a place holder if HBASE-11288 implementation of split meta 
goes in as it would not make sense to add it otherwise. If it does I will get 
to implementing this then.





--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-09-11 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

{quote}
If one solution will be used by more and more use cases, it will be not a 
specialization and will be generalized for HBase. 
{quote}
Understood this definition is different from how I used the term and they 
aren't necessarily contradicting. I agree as well that it won’t be a 
specialization (your definition) if it’s used by more use cases.

{quote}
Because the root table only have one region, it cannot scale horizontally, too. 
If you use read region replica for this, the "master local region" can use read 
region replica feature, too. In terms of scalability, "root table" is same with 
"master local region".
{quote}
I see I mentioned master scalability with regards to using "master local 
region" for other use cases such as replication, etc which might benefit from 
horizontal scalability. Although yes replicas/caching will help with cluster 
scalability for either implementation (although IMHO operationally “master 
local region” requires it and it’s optional for “root table”). Having said that 
it's also good to think about whether it's worth it to give the master (which 
doesn't scale horizontally) more work when it doesn't need to do it. 

{quote}
For me, the assignment framework "easy to read/understand" is more important.
{quote}
Off-hand I think both will be easy to read/understand. For "root table" the 
code is basically an extension/intertwining of meta code so if you understand 
meta code you will understand root code they’re almost the same. 

{quote}
Now the core dependency in read/write path is the ZK. And I thought there are 
exist issues about this: HBase should reduce ZK dependency in the future. So 
when no ZK dependency, I thought that introduce master to read/write path is 
acceptable.
{quote}
I see, I too would like to not expose ZK to the client. Some comments in this 
jira is a discussion between me and Andy about using regionserver instead of 
the master to provide the bootstrap information. I will work on implementing 
that option only if root is not hosted in master as it would no longer make 
sense if it is. 






> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
> Attachments: jstack20200807_bad_rpc_priority.txt, root_priority.patch
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-09-09 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

Apologies for the late reply [~zghao]. 

It seems our definition of specialization is different and one does not 
contradict the other. Using your definition of specialization (use cases 
storing data in “local master region”), in essence I agree it is not. I’ll try 
to be careful using the word as it seems to not help move the discussion 
forward. As a side note, I’m sure you thought of this but just wanted to chime 
in: in general I’d weigh storing data on the master vs other options as the 
master won’t scale horizontally among other reasons. Although I think that 
discussion would be case by case and better suited in their own jiras.   

In terms of simplicity, I think if you look at both from different perspectives 
either one can be seen as simpler than the other. Here’s two possible 
perspectives:

The “local master region”  in one perspective is simpler as it keeps the root 
logic in the master. 

The “root  table” approach from an operations point of view is simpler as it’s 
only change is basically adding 1 more region to the cluster (worst case 2-tier 
assignment). 

Allow me to elaborate on the previous statement. “Root table” is operationally 
simpler compared to “local master region” as the latter adds new 
failure/operational modes, adds master to read/write path, etc. Then if caching 
is introduced in “local master region” the implementation becomes less simpler 
and operationally (depending how you look at it) more complex (although a bit 
more scalable and robust). In contrast based on our experience the “root table” 
approach will not need caching (except possibly for extreme cases we haven’t 
run into) hence operationally the change remains to be just the addition of 1 
region, the root region. 

As for “assignment problems” I think we’ve proven through the successful ITBLL 
runs that hbase-2 is able to handle the extra tier of assignment? As for 
understanding the code the approach is mainly extending existing meta code not 
really adding new code paths. If a developer understands meta code they will 
easily be able to understand root code as it is merely an extension of the 
other. 

It would be great if we could come up with a solution that offers the 
simplicity of both. If not then it’d be great to come up with one that offers 
the best benefit factoring in any tradeoffs. I think this is where 
understanding different perspectives would be helpful.


> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
> Attachments: jstack20200807_bad_rpc_priority.txt, root_priority.patch
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-09-09 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

In software projects sometimes the biggest bugs aren't in the code but in 
relationships, as well as possibly the most difficult to debug. Collaboration 
on this jira has failed and does not seem possible which is quite unfortunate.

Based on my understanding of the discussions on this jira and in the docs it 
seems the root as a table approach has merit hence in the interest of letting 
the community decide what's best I will continue to work on this patch. I will 
be happy to continue objective discussions whether it is towards improving the 
patch or arguing against it.

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
> Attachments: jstack20200807_bad_rpc_priority.txt, root_priority.patch
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-08-25 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

I see thanks for confirming my understanding of the patch as well as 
elaborating on it more [~zhangduo].

Master Local Region is a specialization because it makes root no longer the 
same as hbase:meta. It is no longer is a table like meta table: local region, 
does not host region on a regionserver, etc. Solutions to root cannot always be 
generalized to hbase:meta.

In itself Master Local Region implementation has its merits but when taking it 
as part of a whole: the catalog, I’m of the opinion we’d need a compelling 
reason to justify the specialization?

I see sounds like you’re implying that a simple api could work for  “general 
root table”  as well? Assuming there is no compelling reason to go with Master 
Local Region implementation.

For the purpose of understanding where this discussion is going. Earlier you 
mentioned if we could get a reasonable result from the ITBLL run you would 
change your mind. Is this still the case?





> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
> Attachments: jstack20200807_bad_rpc_priority.txt, root_priority.patch
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-08-14 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

I see apologies I thought you wanted my thoughts I missed the question. As 
mentioned root is half of Catalog its responsibilities are similar to that of 
the meta table. The benefit to root being a table just like meta is a table is 
when we need to do/apply something to Catalog we can come up with a generalized 
approach that can be done/applied to both.  Having a generalized approach we 
avoid unneeded complexities hence my questions about it being worth it, etc. 
Does that answer your question?

I see in your solution is root a table like meta table would the code paths be 
more or less the same? Would we be able to apply generalized solutions for both 
or would they be different code paths? Are these changes in the splittable-meta 
branch?

Yes indeed it’s good to know the proc-v2 is stable and working well. Makes me 
look forward to deploying hbase-2 a bit more. I think the intent would be to 
pick one and stick with it for a long time. Hence the rigor in deliberation. In 
which case would adding new states in SCP still be a concern? 

I see I apologize if I sounded pushy I did not mean to. There could be other 
solutions that are good, but if the solution involves specializing then I’d 
also like to understand whether that tradeoff is compelling. There could be 
reasons that would make that tradeoff compelling I just don't know about it. If 
there was a compelling reason as mentioned I would change my current thinking 
on "local region on master".


> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
> Attachments: jstack20200807_bad_rpc_priority.txt, root_priority.patch
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-08-12 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

The run I mentioned in the previous comment completed successfully. I'll try to 
run using AsyncFSWAL and remove workaround #4.

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
> Attachments: jstack20200807_bad_rpc_priority.txt, root_priority.patch
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-08-12 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

Hi [~zhangduo], there's a lot of code for a few reasons: 1. The way I wrote the 
patch was to be easy to read how adding root is merely piggybacking/extending 
on a lot of the meta code hence there's a lot of copy paste,  2. The code to 
split meta will be basically touching existing code that's been touched already 
but will be generalized. 3. There's already some code that went in to address 
splittable meta. 4. There's some refactoring (renaming root to meta), 
generalization, etc. The production could changes would mainly be generalizing 
and extending existing code paths. I could try and cleanup the branch-2 patch 
so we can see what it would look like if that's a big concern?

With regards to biasing root as a table. Root is half of the catalog it's 
responsibilities are sort of similar to that of the meta table hence I think 
there's some reasonable motivation with the bias. In which case I would like to 
understand why we are doing the specialized solution for root instead of coming 
up with a general one for the catalog as a whole? Also why is it worth it? 
Sorry if I sound like a broken record, I see that you responded to my question 
in a previous post. I just want to make sure I understand your current position 
(as some things might've changed these past 2 weeks)?




> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
> Attachments: jstack20200807_bad_rpc_priority.txt, root_priority.patch
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-11288) Splittable Meta

2020-08-10 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu edited comment on HBASE-11288 at 8/11/20, 4:59 AM:
---

Apologies for the late reply. I got caught up dealing with the issues to get my 
setup running. Right now it's running and 4 of 5 iterations has finished. I'm 
using the command [~stack] shared.

Here's a rundown of some of the things I dealt with so far.

1. Disabled netty native transport - regionservers JVM's would basically 
freeze. Couldn't even do jstack without "-F". I found out that internally we 
don't run with native transport for hadoop as it has a lot of issues apparently 
(wrong fds getting closed, etc).
2. Disabled security - there was some issue with TokenProvider throwing 
IllegalThreadStateException on startup causing the RS to abort
3. Hadoop-2.8  and zookeeper 3.4.x - made some quick changes so I could 
downgrade the dependencies as these are what we use internally. Shouldn't 
affect the validity of the test?
4. MonitorTaskImpl.prettyPrintJournal was throwing an NPE causing RS to abort - 
might be related to me using "filesystem" as the wal provider. I changed the 
code to swallow the exception for now as it seems unrelated. Will try and rerun 
the test use Async wal provider.
5. SCP bug introduced by patch - caused meta not to get assigned. Caught and 
fixed this quick and early.
6. [~stack] root executor patch - didn't run into this, but makes sense so I've 
applied the patch to the branch and have been running with it.




was (Author: toffer):
Apologies for the late reply. I got caught up dealing with the issues to get my 
setup running. Right now it's running and 4 of 5 iterations has finished. I'm 
using the command [~stack] shared.

Here's a rundown of some of the things I dealt with so far.

1. Disabled netty native transport - regionservers JVM's would basically 
freeze. Couldn't even do jstack without "-F". I found out that internally we 
don't run with native transport for hadoop as it has a lot of issues apparently 
(wrong fds getting closed, etc).
2. Disabled security - there was some issue with TokenProvider throwing 
IllegalThreadStateException on startup causing the RS to abort
3. Hadoop-2.8  and zookeeper 3.4.x - made some quick changes so I could 
downgrade the dependencies as these are what we use internally. Shouldn't 
affect the validity of the test?
4. MonitorTaskImpl.prettyPrintJournal was throwing an NPE causing RS to abort - 
might be related to me using "filesystem" as the wal provider. I changed the 
code to swallow the exception for now as it seems unrelated. Will try and rerun 
the test use Async wal provider.
5. SCP bug introduced by patch - caused meta not to get assigned. Caught and 
fixed this quick and early.
6. [~stack] root executor patch - didn't run into this, but makes sense.



> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
> Attachments: jstack20200807_bad_rpc_priority.txt, root_priority.patch
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-08-10 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

Apologies for the late reply [~zhangduo]. Yes it just adds root table (another 
tier). There is no split meta support. Did you want to test split meta as well? 
We could do that I'll just need some time to backport the changes that I've 
done on master as well as add the changes needed for failover (eg scp), etc.

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
> Attachments: jstack20200807_bad_rpc_priority.txt, root_priority.patch
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-08-10 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

Apologies for the late reply. I got caught up dealing with the issues to get my 
setup running. Right now it's running and 4 of 5 iterations has finished. I'm 
using the command [~stack] shared.

Here's a rundown of some of the things I dealt with so far.

1. Disabled netty native transport - regionservers JVM's would basically 
freeze. Couldn't even do jstack without "-F". I found out that internally we 
don't run with native transport for hadoop as it has a lot of issues apparently 
(wrong fds getting closed, etc).
2. Disabled security - there was some issue with TokenProvider throwing 
IllegalThreadStateException on startup causing the RS to abort
3. Hadoop-2.8  and zookeeper 3.4.x - made some quick changes so I could 
downgrade the dependencies as these are what we use internally. Shouldn't 
affect the validity of the test?
4. MonitorTaskImpl.prettyPrintJournal was throwing an NPE causing RS to abort - 
might be related to me using "filesystem" as the wal provider. I changed the 
code to swallow the exception for now as it seems unrelated. Will try and rerun 
the test use Async wal provider.
5. SCP bug introduced by patch - caused meta not to get assigned. Caught and 
fixed this quick and early.
6. [~stack] root executor patch - didn't run into this, but makes sense.



> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
> Attachments: jstack20200807_bad_rpc_priority.txt, root_priority.patch
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-08-05 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

Hi Guys, apologies for the delay. I've pushed up HBASE-11288.branch-2, which is 
a rebase of the master branch patch. The rebase is a little older than current 
HEAD as it didn't seem stable when I was rebasing onto it last weekend. I've 
disabled some unit tests which seems unneeded for the PoC, there are a few 
tests that are failing on my desktop but not my mac. I've deployed it on a test 
cluster and it comes up and basic stuff is working. I'll probably do another 
pass to see if there's anything else but having said that I think it's good 
enough to give it a try. I'll reach out to [~stack] tomorrow about running 
ITBLL. 

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-07-24 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

A deadline sounds fine to me as well. And yes I would definitely appreciate the 
help [~stack] as well as another perspective when we're writing the assessment. 
I've not done ITBLL with procv2 assignment issues before so my estimates may be 
a bit off, off-hand one week sounds like a best case scenario, two weeks sounds 
more reasonable (assuming no surprises at work). Let me think about it more. 
What do you think [~stack]? I'm assuming this estimate excludes the rebasing on 
branch-2, although I'm hoping it would be quick if the differences aren't that 
big.  Just trying to make sure we won’t be writing an assessment we’ll find 
lacking reading it year or so from now.

As mentioned before if the ITBLL test shows procv2 is not ready for 2-tiered 
assignment then it’s clear “general root table” is not an option. I proposed 
this when 2-tiered assignment readiness seemed to be the most concerning. When 
it became apparent the concern was because of hot spotting on the root table, I 
asked a question similar to this: What value are we getting out of having a 
specialized solution for root instead of fixing it for both the catalog tables 
(root and meta) as a whole and is it worth it? If there is another answer that 
is compelling like 2-tiered assignment readiness. That would definitely be 
something that would change my current thinking on the “master local region” 
approach.  Hopefully I addressed your concern?

Nice article [~stack] will go through it. 

[~zyork] good to see that this is getting picked up again. What's the jira for 
this again?










> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-07-23 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

[~stack] and [~zhangduo] thank you for your suggestions of avoiding master 
branch and just rebasing on branch-2. I will go ahead and do that then. I will 
try to get as much information of course. I’ll do my best to get ITBLL to pass. 

[~zhangduo] Good to hear you are willing to change your mind with a reasonable 
result. As my intention has always been not only to prove/disprove it to myself 
but to you and [~stack] as well to help come to a consensus on a path forward.

Looking at [~stack]’s recent comment the consensus seems to be that there was 
no consensus on a path forward. Although as [~stack] pointed out [~apurtell] 
did suggest we just do a reset so I missed the signs that we were doing that so 
my mistake. 

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-07-22 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

I seem to have made a mistake and thought that we'd come to an agreement before 
moving forward so I've just been waiting. Looks like people are doing what they 
mentioned they wanted to do, so to move things forward on my end let me go 
ahead then and run ITBLL. 2-tiered assignment may not be the most contentious 
thing right now but it sounded like it was still important? So I plan to first 
start run ITBLL on unchanged master to get a baseline and then run with the 
patch. Has anyone run ITBLL on master? Is there a particular commit that I 
should be using, etc?

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-07-22 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

{quote}
I found a version in one of my local repo and pushed it back to HBASE-11288. 
Please take a look to see if it is the newest one. Sorry again. Francis 
Christopher Liu.
{quote}
No worries [~zhangduo] thanks for fixing it.

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-11288) Splittable Meta

2020-07-14 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu edited comment on HBASE-11288 at 7/15/20, 3:39 AM:
---

I am all for “collaborate and work out a path forward”. How do we go about 
doing that? My previous proposal was trying to add some rigor by tackling the 
most pressing issue (in terms of picking one over the other) which seemed based 
on earlier discussions and the documentation was tiering. Any proposal?

I have some technical responses to the recents posts here but will try to hold 
off until we can agree on a path forward.

(78 words)



was (Author: toffer):
I am all for “collaborate and work out a path forward”. How do we go about 
doing that? My previous proposal was tackling the most pressing issue which 
seemed based on earlier discussions and the documentation was tiering. Any 
proposal?

I have some technical responses to the recents posts here but will try to hold 
off until we can agree on a path forward.

(64 words)


> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-07-14 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

I am all for “collaborate and work out a path forward”. How do we go about 
doing that? My previous proposal was tackling the most pressing issue which 
seemed based on earlier discussions and the documentation was tiering. Any 
proposal?

I have some technical responses to the recents posts here but will try to hold 
off until we can agree on a path forward.

(64 words)


> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-07-10 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

I think we are conflating the purpose of caching and that makes the evaluation 
a bit confusing. Here's my attempt at fleshing them out. And drawing some 
conclusions. There's essentially two cases:

# Caching to prevent master to become part of read/write path - this use case 
is only presenet in "local master region". Caching here is used to reduce the 
effect of disadvantage. Bad enough to be required as part of any serious 
deployment(?).
# Caching to avoid hot regions. - this is something potentially optional in 
"general root table".  But arguably recommended in "local master region" given 
the sharing of master and root responsibilities in a single process. There is 
some nuance here as to why this caching use case is more important/recommended 
for "local master region" because of being colocated with the master especially 
when it comes to scaling(?).


For 2, I think we are special casing root a little too much. For example in 
"general root table" implementation although splitting meta can reduce hot 
regions and help with scaling it does not eliminate it. In fact in our 
experience we run into hot meta regions more often than hot Root region. In 
which case I believe if we are considering caching as a solution for hot root 
region we need to think more holistically and think about a solution for 
Catalog Tables as a whole. Along those lines, although it's currently not a big 
deal for us, would it also make sense to consider availability for Catalog 
Tables as whole, which also can potentially be addressed with caching? The same 
can be said with the noisy neighbors argument does it really make sense to 
special case root instead of coming up with a holistic solution for Catalog 
Tables as a whole? It seems one potential advantage for "general root table" is 
being able to address issues with the Catalog Tables holistically potentially 
having a simpler and more elegant solution. The devil is in the details here of 
course and so the general question is how important is special casing root for 
any particular use case vs fixing it for catalog table as a whole. It at least 
seemed to me based on discussions and the design doc that the 2-tier was 
potentially that use case. 

What do you guys think?


> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-07-10 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

{quote}
Do you agree with the above statements?
{quote}
>From what I can read in the doc and my understanding of the discussions so far 
>the main difference between the two implementations is the tiering. “Master 
>local region”’s only advantage is that it stays 1-tier for assignment, 
>although at the cost of making compromises to avoid 2-tier. The caching as 
>mentioned is not specific to one implementation.

{quote}
After rethinking, I think you misuderstood me. It seems that you are trying to 
show that the 'general root table' solution can work. It definately can work as 
you already have a cluster running with the solution. This is not my point. I 
do not mean the 'general root table' can not work.
{quote}
I see so you agree it can work for HBase? Yes it seemed unclear wether you 
thought it could work or not in general. Thanks for clarifying that. If you 
could also clarify another thing, you seemed to imply there might be problems 
with it for HBase currently (Eg ProcV2 is not mature enough) is this correct? 
Just trying to make sure I understand your position.

{quote}
In general, I think both of the solution can work. Here we just want to choose 
the 'better' solution.
{quote}
I see that’s good to know. So we can continue discussing on validating the main 
difference (2-tier vs 1-tier)? 

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-07-09 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

{quote}
Bigtable is designed way back in 2006, not everything in BigTable is correct. 
And they do not give us their code so we do not know their framework on how to 
deal with tablet assignment and tablet server crash.
{quote}
Yes of course my point was that it is not an unsolvable problem. It's unclear 
wether you agree or disagree?

{quote}
What we have for now is procedure v2 in HBase, so our discussion should based 
on procedure v2. 
{quote}
Great we're on the same page then.

{quote}
And this is not only about adding another tier, how do you plan to distribute 
the load of the general root table? Region replica is not stable enough, for 
years.
{quote}
Let's follow Stack's previous comment? Let's not discuss replicas or caching as 
they could be applied to either split meta implementation. Let's focus on the 
tiering issue?

{quote}
This suggestion is weak. I'm afraid after running ITBLL we will sit here again 
to argue that, 'This is only a POC, do not focus on polishing'. 
{quote}
I'm missing something. It is a POC and its intent was to gather information and 
help answer critical questions like this. So I'm not sure what the concern is 
against POCs doing what POCs are supposed to be used for? Rest assured for this 
particular case I am more concerned as to how we came to the decision than the 
actual decision.  It would be best for everyone if we could apply some rigor 
for something so important.

{quote}
But from my understanding, ITBLL is for polishing. We should have a clear 
design, and a clean code, and then we use ITBLL to find out the corner cases to 
polish our code, make it more robust.
{quote}
It is definitely good for that. But what prevents us from using it for this 
purpose? Wether it always passes, fails sometimes or fail always we learn 
something and that is valuable for determining wether proc v2 can support 
2-tier now, short term, long term or never. Then we can come to an informed 
decision. For example we might decide we cannot wait that long for proc v2 to 
mature so we go with 1-tier.

{quote}
And I want to know you opinion on 'master local region'. I've explain that, 
with caching servers, master will not be on the critical path of normal client 
read/write. Client just go to the cache servers, which is similar to read 
replicas feature, but much easier to implement and more stable. Are there any 
other concerns about this solution?
{quote}
It does help but it is still making a compromise to avoid the concerns of 
2-tier. Which is why my main concern now is applying some rigor to help us come 
to a well informed decision as to wether proc v2 cannot support it and we 
should go with 1-tier. I think proc v2 is what was missing that prevented us 
from succeeding in the past although it’s possible it may not be mature enough 
at this stage. 






> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-07-08 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

Thanks for you response Duo. So it sounds to me the main reason for going with 
the “Root table on master” implementation is because of the strong disagreement 
towards the “General Root Table” implementation in particular the fact that it 
adds another tier in assignment. Given that “General Root Table” has proven 
itself in BigTable and other clones (eg Accumulo AFAIK). The concern it seems 
is specific to HBase’s implementation, there is a strong concern that we might 
fail again at getting it to work. Correct me if I’m wrong here.

Regardless of which implementation the addition of split meta will not only be 
a significant change to HBase but also something that we will likely be living 
with for quite a while. Because of that I am proposing that we apply some rigor 
on deciding which implementation we will go with. 

My current thinking is given that the main reason it seems for picking “Root 
table on master” is because we want to avoid failing at tiering again, why 
don’t we come up with a way to validate that assertion? IMHO the situation now 
and then are very different especially with the addition of ProcV2 and the 
revamped Assignment. For validation, my understanding is we use ITBLL to test 
wether the current 1-tier assignment is working properly or not, why don’t we 
try and run ITBLL on the “General Root Table” POC to investigate and validate 
the 2-tier assignment concern? Thoughts?


> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-06-01 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

{quote}
I added some comments on the PR. I think the PR is still far from merging...
{quote}
Thank you for taking a look and your comments. It seems your comments are about 
polish? As mentioned this is a draft patch, does that mean the general 
implementation is ok and I can work on polishing it?

{quote}
Usually the UT part will spend at least two hours to finish...

Thanks.
{quote}
Oh I see you're talking about the PR test result. I ran it locally with -fn so 
I could get all the tests to run. Although I think I ran it without running IT 
tests. I'll run it again after rebase. 


{quote}
Lastly, you're working on implementing split meta while I am working on it too? 
I wanted to know what your thoughts are where this is going? What happens when 
you and I finish our feature branches? 
{quote}
I'd really appreciate your response on this question. Having previous 
discussions with you I think we both want split-meta  and we both want to do it 
right. So I think we both want the same thing, so maybe we can work a little 
more closely on this? 


> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-05-29 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

{quote}
But you can see HBASE-24389, for now I've made all the UTs pass. This is very 
important as we could do things step by step, on a feature branch. A feature 
branch is not something that you could break everything until you finish the 
last commit you fix everything, otherwise it does not make any difference with 
a big fat patch...
{quote}
Yes I agree. And a few things: 1. As recommend by the community I put up a 
draft patch to show the changes and get feedback before completing it. 2. The 
tests that are passing are enough to show the concept of the draft patch. Tho 
there are actually not much that are failing. 3. I've actually broken up the 
changes into separate commits to make it easier for the reviewer. Did you 
manage to take a look at the PR? Would appreciate your comments. 


{quote}
Of course split meta will have more works, I've opened 5 sub tasks already and 
HBASE-24388 and HBASE-24389 are only two of them. But as said above, I'm 
optimistic since the current patch can pass all the existing UTs, and I think 
the client side code is already enough for handling multiple meta regions.
{quote}
I agree you will get there. I was more talking about the approach making a 
recommendation based on what I've gone through. Also it seems our work is 
overlapping I've done some of the work that you already did. Perhaps I can help 
out?

Lastly, you're working on implementing split meta while I am working on it too? 
I wanted to know what your thoughts are where this is going? What happens when 
you and I finish our feature branches? 

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-05-28 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

{quote}
For root table, I thought the previous problems about meta table will become 
the problems about root table. root table should be splitable? If root table 
cannot splitable, which regionserver to host root table's region, a isolated 
region or share with user regions? In our production use case (300+ 
RegionServer, 200K+ Regions, 1K+ tables), the meta region is isolated on one 
regionserver, not share with the user regions. This is a waste of machine, but 
for better stability. And we have many hack logic for meta regions, such as 
assign meta first, donot replicate meta wal, balancer give a bigger weight for 
meta region, the new root table need all these hack, too? You can found these 
by grep isMetaTable or isMetaRegion calls in our codebase...
{quote}
Have you tried regionserver groups? In our deploy we isolated it by having a 
system regionserver group which hosts all the system tables (root, meta, etc). 


> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-11288) Splittable Meta

2020-05-28 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu edited comment on HBASE-11288 at 5/28/20, 10:01 AM:


[~zhangduo][~stack] since you guys had big concerns with tiered assignment, 
would appreciate some comments in anything I might be doing undesirable in the 
PR as well as suggestions if you have any. Note the PR is a draft so there is 
likely room for improvement.  Past that would a long run of ChaosMonkey be a 
way to validate that it's stable?


was (Author: toffer):
[~zhangduo][~stack] since you guys had big concerns with tiered assignment, 
would appreciate some comments in anything I might be doing undesirable in the 
PR as well as suggestions if you have any. Past that would a long run of 
ChaosMonkey be a way to validate that it's stable?

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-05-28 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

{quote}
By unify, I mean get as much reuse as possible in code and configuration. 
{quote}
Cool thanks a lot [~apurtell] for your input!

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-05-28 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

[~zhangduo][~stack] since you guys had big concerns with tiered assignment, 
would appreciate some comments in anything I might be doing undesirable in the 
PR as well as suggestions if you have any. Past that would a long run of 
ChaosMonkey be a way to validate that it's stable?

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-11288) Splittable Meta

2020-05-28 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu edited comment on HBASE-11288 at 5/28/20, 9:54 AM:
---

{quote}
I will try to implement splittable meta by storing the root table in a 'master 
local region', on the feature branch.
{quote}
I see is the intent to do a POC with master local region?

{quote}
HBASE24389, the goal is to move the location of meta to the 'master local 
region', and also remove the assumption that there is only a single meta region 
as much as possible in code, without actually split the meta table. 
{quote}
I see, from my experience having written this patch a few times. Adding root 
and then generalizing hbase:meta  (eg moving away from single meta region) 
regions is most of the code changes, the actual splitting meta code is not a 
lot since it's basically just another region. As well as the true way to test 
if you've done your job is to actually have more than one meta so it doesn't 
really make sense to split generalizing meta handling and actually splitting 
the table there might actually be more work if you do it that way. 




was (Author: toffer):
{quote}
I will try to implement splittable meta by storing the root table in a 'master 
local region', on the feature branch.
{quote}
I see is the intent to do a POC with master local region?

{quote}
HBASE24389, the goal is to move the location of meta to the 'master local 
region', and also remove the assumption that there is only a single meta region 
as much as possible in code, without actually split the meta table. 
{quote}
I see, from my experience having written this patch a few times. Adding root 
and then generalizing hbase:meta  (eg moving away from single meta region) 
regions is most of the code changes as well as the true way to test if you've 
done your job is to actually have more than one meta so it doesn't really make 
sense to split generalizing meta handling and actually splitting the table 
there might actually be more work. 



> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-05-28 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

Thanks for the doc [~stack]. I've added some questions/risks in the doc (will 
fill in more info tomorrow) we should probably address them based on priority 
so we can answer the big questions first.


> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-05-28 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

{quote}
I will try to implement splittable meta by storing the root table in a 'master 
local region', on the feature branch.
{quote}
I see is the intent to do a POC with master local region?

{quote}
HBASE24389, the goal is to move the location of meta to the 'master local 
region', and also remove the assumption that there is only a single meta region 
as much as possible in code, without actually split the meta table. 
{quote}
I see, from my experience having written this patch a few times. Adding root 
and then generalizing hbase:meta  (eg moving away from single meta region) 
regions is most of the code changes as well as the true way to test if you've 
done your job is to actually have more than one meta so it doesn't really make 
sense to split generalizing meta handling and actually splitting the table 
there might actually be more work. 



> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-11288) Splittable Meta

2020-05-27 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu edited comment on HBASE-11288 at 5/27/20, 10:22 AM:


Hi guys, just following up on what everyone's thoughts is for where meta region 
locations will actually be stored? Are we already sold on one direction over 
another? Do we need more discussion? Do we need  investigation to figure out 
which is better (eg POC)?  So far it's between storing it in the master and the 
root table. Correct me if I'm wrong or oversimplifying [~zhangduo] but it seems 
the main contention/concern seems to be between the complexity that tiering 
assignments add and putting the responsibility on the master? 

Also I see a meta location store for master in another feature branch 
(HBASE-11288.splittable-meta)? Is this a POC or is this the direction we are 
going? Let me know as I've rebased the root patch and been working on adding 
split meta support to HBASE-11288 feature branch.


was (Author: toffer):
Hi guys, just following up on what everyone's thoughts is for where meta region 
locations will actually be stored? Are we already sold on one direction over 
another? Do we need more discussion? Do we need  investigation to figure out 
which is better (eg POC)?  So far it's between storing it in the master and the 
root table. Correct me if I'm wrong or oversimplifying [~zhangduo] but it seems 
the main contention/concern seems to be between the complexity that tiering 
assignments add and putting the responsibility on the master? 

Also I see a meta location store for master in another feature branch 
(HBASE-11288.splittable-meta)? Is this a POC or is this the direction we are 
going? Let me know as I've rebased the root patch and working on adding split 
meta support to HBASE-11288 feature branch.

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-05-27 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

Hi guys, just following up on what everyone's thoughts is for where meta region 
locations will actually be stored? Are we already sold on one direction over 
another? Do we need more discussion? Do we need  investigation to figure out 
which is better (eg POC)?  So far it's between storing it in the master and the 
root table. Correct me if I'm wrong or oversimplifying [~zhangduo] but it seems 
the main contention/concern seems to be between the complexity that tiering 
assignments add and putting the responsibility on the master? 

Also I see a meta location store for master in another feature branch 
(HBASE-11288.splittable-meta)? Is this a POC or is this the direction we are 
going? Let me know as I've rebased the root patch and working on adding split 
meta support to HBASE-11288 feature branch.

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-05-27 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

Thanks [~apurtell] I see where you're coming from now. 

{quote}
a different master oriented model was preferred to minimize operational and 
configuration changes (especially if there is co-location of ZK and master 
service)
{quote}
Since the config names between master and zookeeper registry are different what 
configuration change is minimized?  I see some of your users run 3 masters and 
a 3 zookeeper ensemble on them as well. Tho operationally they shouldn't be 
much different? 

{quote}
If we had such a contribution I’d probably ask how difficult it would be to 
unify them so it becomes the operators choice what hosts from either role to 
include in the bootstrap string. 
{quote}
We might go this route tho I'll have to get back to this after this patch is 
done. Tho what do you mean by unify in this case? Unify the configs? And the 
code? Eg reuse the rpcs etc? Do you want me to create a jira for this now? Or 
when we decide on it?

{quote}
 If you want to do more then the discussion becomes more nuanced but for 
example if the configuration string is a single host name that resolves to 
multiple address records then the registry client could be taught to handle 
this case and it would then just work along with the case where multiple hosts 
are listed in the string instead of discovered by DNS. 
{quote}
Yeah we can definitely add that if people see a use of it. This approach is a 
standard tool in our PE's toolbelt. Perhaps yours too? If so this would be 
compelling to add? Also FWIW zookeeper already supports this tho it only loads 
the mapping once during startup.

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-11288) Splittable Meta

2020-05-21 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu edited comment on HBASE-11288 at 5/21/20, 11:23 AM:


[~apurtell] thanks for the explanation, I'just have a few follow-up questions 
if thats ok.

{quote}
In contrast, what if we start exporting a subset of regionservers. How does 
that work? It's guaranteed to be different from how zk quorum strings worked.
{quote}
I pretty sure it's well thought out just understanding the thought process in 
case we need to consider creating a regionserver registry so we understand the 
tradeoff. My thinking was providing a static subset of regionservers the same 
way that's being done with providing a static list of masters. Are we not able 
to provide a static subset of masters in the current implementation? 

{quote}
 There are a lot more of them, they are randomly chosen , the connection info 
has to dynamic instead of static (how is that collected? published to 
clients?). 
{quote}
I think there are a few ways to picking the static subset. Let me know if these 
make sense. One way would be to pick regionservers that are part of the 
regionserver group hosting the meta. Another way is to provide a seed list and 
an api to allow the client to discover more if they need to someone mentioned 
that his is how cassandra does it a while back when we were takling about a 
regionserver registry. Another way is to provide just a single domain name and 
that domain name contains a static subset list of regionserver ips which the 
operator can choose to updated dynamically in case one is decomissioned or a 
new on is added (this should work for the master approach too tho you would 
need a resolver) this way the client config does not need to change.






was (Author: toffer):
[~apurtell] thanks for the explanation, I'just have a few follow-up questions 
if thats ok.

{quote}
In contrast, what if we start exporting a subset of regionservers. How does 
that work? It's guaranteed to be different from how zk quorum strings worked.
{quote}
I pretty sure it's well thought out just understanding the thought process in 
case we need to consider creating a regionserver registry so we understand the 
tradeoff. My thinking was providing a static subset of regionservers the same 
way that's being done with providing a static list of masters. Are we not able 
to provide a static subset of masters in the current implementation? 

{quote}
 There are a lot more of them, they are randomly chosen , the connection info 
has to dynamic instead of static (how is that collected? published to 
clients?). 
{quote}
I think there are many ways to picking the static subset. One way would be to 
pick regionservers that are part of the regionserver group hosting the meta. 
Another way is to provide a seed list and an api to allow the client to 
discover more if they need to someone mentioned that his is how cassandra does 
it a while back when we were takling about a regionserver registry. Another way 
is to provide just a single domain name and that domain name contains a static 
subset list of regionserver ips which the operator can choose to updated 
dynamically in case one is decomissioned or a new on is added (this should work 
for the master approach too tho you would need a resolver) this way the client 
config does not need to change.





> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-11288) Splittable Meta

2020-05-21 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu edited comment on HBASE-11288 at 5/21/20, 11:11 AM:


{quote}
At least we have to provide an API to fecth all the content in root table, as 
the cache service needs it. So for HBCK it could also uses this API. But this 
API will not be part of the client facing API, for client they just need a 
simple locateMeta method.
{quote}
I see. You would need mutation apis as well to correct the errors.


was (Author: toffer):
{quote}
At least we have to provide an API to fecth all the content in root table, as 
the cache service needs it. So for HBCK it could also uses this API. But this 
API will not be part of the client facing API, for client they just need a 
simple locateMeta method.
{quote}
I see. You would need mutation apis as well.

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-05-21 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

{quote}
At least we have to provide an API to fecth all the content in root table, as 
the cache service needs it. So for HBCK it could also uses this API. But this 
API will not be part of the client facing API, for client they just need a 
simple locateMeta method.
{quote}
I see. You would need mutation apis as well.

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-05-21 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

[~apurtell] thanks for the explanation, I'just have a few follow-up questions 
if thats ok.

{quote}
In contrast, what if we start exporting a subset of regionservers. How does 
that work? It's guaranteed to be different from how zk quorum strings worked.
{quote}
I pretty sure it's well thought out just understanding the thought process in 
case we need to consider creating a regionserver registry so we understand the 
tradeoff. My thinking was providing a static subset of regionservers the same 
way that's being done with providing a static list of masters. Are we not able 
to provide a static subset of masters in the current implementation? 

{quote}
 There are a lot more of them, they are randomly chosen , the connection info 
has to dynamic instead of static (how is that collected? published to 
clients?). 
{quote}
I think there are many ways to picking the static subset. One way would be to 
pick regionservers that are part of the regionserver group hosting the meta. 
Another way is to provide a seed list and an api to allow the client to 
discover more if they need to someone mentioned that his is how cassandra does 
it a while back when we were takling about a regionserver registry. Another way 
is to provide just a single domain name and that domain name contains a static 
subset list of regionserver ips which the operator can choose to updated 
dynamically in case one is decomissioned or a new on is added (this should work 
for the master approach too tho you would need a resolver) this way the client 
config does not need to change.





> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-05-21 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

{quote}
For example, I'm not impressed by HBASE-18095 while lots of other committers 
really love it. As in our deployments, we can also control how we deploy 
zookeeper, not only HBase. Zookeeper supports a feature called observer node, 
which can be considered as a cache of the zk cluster. 
{quote}
I see, I agree with your sentiment and we do that too where appropriate. In 
fact we were about to go down a similar route as you described with zookeeper 
except for some limitations in early zookeeper versions prior to 3.5(?) which 
did not have the "read only"(?) mode. The problem for us was that without that 
mode there still had to be a quorum agreement for connections to the observer 
even though the clients are doing only reads. This was unacceptable for us as 
that was one of the things we observed was hammering the ensemble so we had to 
go with a different approach.

More recenlty we also have implemented a Rest Registry because of security 
requirements along the lines of what [~apurtell] described. Hence I too find 
that it makes sense to abstract out zookeeper from the user so we have better 
control of the attack surface. I suspect this requirement is going to become 
more common.

{quote}
Then for me, it is also very easy to just implement a simple cache server, to 
pull all the content in root from the active master and cache it in memory, 
then to serve clients as the 'master' for locating meta. And I could also make 
use of lvs, to spread load across multiple cache servers. And for users who can 
not control things other than HBase, we could implement something like 
HBASE-18095, to let backup masters to serve the locating meta requests.
{quote}
Yeah I think we would need an implemented solution for users as well. Or it 
would seem a bit lopsided expecting users that worry about root traffic to 
implement their own caching service. 

{quote}
But if you use a hbase:root table, then you will expose the whole region API to 
users. The API is powerful, but hard to simulate, so it will be really hard to 
spread the load across multiple servers. 
{quote}
If that is something you need we could still have root table but not expose the 
region api (possibly like we already do for mutations) to them just the api you 
described? Also I'm wondering if we don't expose the scan apis at all then do 
we plan to have hbck for root where it is located (eg in the master)?

{quote}
Enable read replicas on root table? Seems a bit overkill and read replicas 
itself is still not stable enough I suppose...
{quote}
It would seem overkill if we only did it for root. But we do it for meta today? 
Or are people no longer using it for meta? There's no developer support in 
getting it stable?

Please let me know what you think?








> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-11288) Splittable Meta

2020-05-20 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu edited comment on HBASE-11288 at 5/20/20, 10:33 AM:


{quote}
The solution is to make meta splittable... But this is not possible for root 
table right?
{quote}
Right but there's being able to scale and there's getting hammered/spammed. For 
the latter you could still run into issues and still need a solution. 

{quote}
Well, for me I would say they are not the same... The location for root is on 
zk while meta is in root, and root can not be split but meta can...
{quote}
True but they are both tables. Operationally that makes things more intuitive. 
Eg load balancing across servers etc.




was (Author: toffer):
{quote}
The solution is to make meta splittable... But this is not possible for root 
table right?
{quote}
There's being able to scale and there's getting hammered/spammed. For the 
latter you could still run into issues and still need a solution. 

{quote}
Well, for me I would say they are not the same... The location for root is on 
zk while meta is in root, and root can not be split but meta can...
{quote}
True but they are both tables. Operationally that makes things more intuitive. 
Eg load balancing across servers etc.



> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-05-20 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

{quote}
The solution is to make meta splittable... But this is not possible for root 
table right?
{quote}
There's being able to scale and there's getting hammered/spammed. For the 
latter you could still run into issues and still need a solution. 

{quote}
Well, for me I would say they are not the same... The location for root is on 
zk while meta is in root, and root can not be split but meta can...
{quote}
True but they are both tables. Operationally that makes things more intuitive. 
Eg load balancing across servers etc.



> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-11288) Splittable Meta

2020-05-20 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu edited comment on HBASE-11288 at 5/20/20, 10:25 AM:


{quote}
I think we should figure out how this will work. Can be done in parallel in 
another issue. Baseline is old clients keep working.
{quote}
Yep let's make backward compatibility work. The simplest would be to just proxy 
requests like rest or thrift server does now. If a request for meta hits the 
regionserver hosting root. Should be fairly straightforward. Yeah another 
branch on top of this one maybe just to not muck things up as we are trying 
stuff.

{quote}
The tiering of assignment – root going out before anything else, then all of 
the meta regions and then user-space regions. And that ROOT is just so ugly... 
the way the rows are done; the crazy comparator.
{quote}
Tiering - yeah this is a tough one since root holds meta locationsit 
invariable requires root to be available for writing. What is your concern 
here...the complexity of the process? 

Ugly root - The way the row keys are done?  The nested thing? It's not that bad 
at least the logic is being reused. Tho we probably don't need the 
"hbase:meta," prefix on all rowstho I"m not sure what we gain?

{quote}
Currently we have meta and namespace and acls and we still don't get it right 
(Duo helped us out here by merging namespace into meta table in master branch).
{quote}
ACLs I've never had an issue with? Namespace AFAIK needed attention and got 
kicked around a bit? It's better it's in hbase:meta now...no one will ignore 
that table as well as less specialized code. This is a bit different from 
tiering assignment issue tho?

{quote}
We should do up a bit of a doc on how this will work; how it will work for old 
and new clients (e.g. handing out the whole meta table when client does meta 
location lookup); how the proxying will be done so old clients will work when 
meta splits, etc.
{quote}
Sounds good. Do you want to brainstorm? Or should I write a proposal then we 
work on it?




was (Author: toffer):
{quote}
I think we should figure out how this will work. Can be done in parallel in 
another issue. Baseline is old clients keep working.
{quote}
Yep let's make backward compatibility work. The simplest would be to just proxy 
requests like rest or thrift server does now. If a request for meta hits the 
regionserver hosting root. Should be fairly straightforward. Yeah another 
branch on top of this one maybe just to not muck things up as we are trying 
stuff.

{quote}
The tiering of assignment – root going out before anything else, then all of 
the meta regions and then user-space regions. And that ROOT is just so ugly... 
the way the rows are done; the crazy comparator.
{quote}
Tiering - yeah this is a tough one since root holds meta locationsit 
invariable requires root to be available for writing. What is your concern 
here...the complexity of the process? 

Ugly root - The way the row keys are done?  The nested thing? It's not that bad 
at least the logic is being reused. Tho we probably don't need the 
"hbase:meta," prefix on all rowstho I"m not sure what we gain?

{quote}
Currently we have meta and namespace and acls and we still don't get it right 
(Duo helped us out here by merging namespace into meta table in master branch).
{quote}
ACLs I've never had an issue with? Namespace AFAIK needed attention and got 
kicked around a bit? It's better it's in hbase:meta now...no one will ignore 
that table. This is a bit different from tiering assignment issue tho?

{quote}
We should do up a bit of a doc on how this will work; how it will work for old 
and new clients (e.g. handing out the whole meta table when client does meta 
location lookup); how the proxying will be done so old clients will work when 
meta splits, etc.
{quote}
Sounds good. Do you want to brainstorm? Or should I write a proposal then we 
work on it?



> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-05-20 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

{quote}
I think we should figure out how this will work. Can be done in parallel in 
another issue. Baseline is old clients keep working.
{quote}
Yep let's make backward compatibility work. The simplest would be to just proxy 
requests like rest or thrift server does now. If a request for meta hits the 
regionserver hosting root. Should be fairly straightforward. Yeah another 
branch on top of this one maybe just to not muck things up as we are trying 
stuff.

{quote}
The tiering of assignment – root going out before anything else, then all of 
the meta regions and then user-space regions. And that ROOT is just so ugly... 
the way the rows are done; the crazy comparator.
{quote}
Tiering - yeah this is a tough one since root holds meta locationsit 
invariable requires root to be available for writing. What is your concern 
here...the complexity of the process? 

Ugly root - The way the row keys are done?  The nested thing? It's not that bad 
at least the logic is being reused. Tho we probably don't need the 
"hbase:meta," prefix on all rowstho I"m not sure what we gain?

{quote}
Currently we have meta and namespace and acls and we still don't get it right 
(Duo helped us out here by merging namespace into meta table in master branch).
{quote}
ACLs I've never had an issue with? Namespace AFAIK needed attention and got 
kicked around a bit? It's better it's in hbase:meta now...no one will ignore 
that table. This is a bit different from tiering assignment issue tho?

{quote}
We should do up a bit of a doc on how this will work; how it will work for old 
and new clients (e.g. handing out the whole meta table when client does meta 
location lookup); how the proxying will be done so old clients will work when 
meta splits, etc.
{quote}
Sounds good. Do you want to brainstorm? Or should I write a proposal then we 
work on it?



> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-05-20 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

{quote}
No, because the registry addresses must be explicitly discoverable, at a 
manageable scale for that purpose.
{quote}
Thanks for the explanation [~apurtell]! I should've followed up with you after 
we discussed it briefly.

{quote}
Number of masters will be up to orders of magnitude less than regionservers. So 
we can't directly serve the registry data out of regionservers and call it a 
day. 
{quote}
I agree publishing all the regionserver locations wouldn't make sense, but I'm 
curious and probably missing something as to why can't we publish a subset of 
regionserver locations? 

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-11288) Splittable Meta

2020-05-20 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu edited comment on HBASE-11288 at 5/20/20, 9:57 AM:
---

{quote}
Just do not see any difference if we just have a single root region on a region 
server? For all the cases, the client will also harmmering the region server 
which hosts the root region and bring down all the cluster...
{quote}

IMHO this type of workload is a regionserver responsibility and hence there are 
advantages to it being done on the regionserver. 

1. AFAIK hbase:meta today is getting hammered? If so, we'll likely want to fix 
that if we haven't already? If so then whatever fix/enhancement we did the root 
table can take advantage of as well? In which case it gives simplicity and code 
reuse as we are applying one solution to two problems. Although we'd have to 
add code for root getting assigned first etc, which I believe should be 
relatively straightforward with procedures.

On the other hand if use the master and backup masters we will be giving them a 
new specialized responsibility, which will introduce new specialized code. And 
then we would need to introduce more code for the master(s) to not get 
hammered. 

2. From an operations perspective it would be easier for operations folks to 
reason about things as the way both catalog tiers are handled are the same and 
so the way to manage them if there are issues are the same.

3. In recovery scenarios the master is already busy doing it's master work, so 
it would be better if it could focus it's resources on that as it does not 
horizontally scale.

Please correct me if I'm making any wrong assumptions here. Let me know what 
you think? 





was (Author: toffer):
{quote}
Just do not see any difference if we just have a single root region on a region 
server? For all the cases, the client will also harmmering the region server 
which hosts the root region and bring down all the cluster...
{quote}

IMHO this type of workload is a regionserver responsibility and hence there are 
advantages to it being done on the regionserver. 

1. AFAIK hbase:meta today is getting hammered? If so, we'll likely want to fix 
that if we haven't already? If so then whatever fix/enhancement we did the root 
table can take advantage of as well? In which case it gives simplicity and code 
reuse as we are applying one solution to two problems. Although we'd have to 
add code for root getting assigned first etc, which I believe should be 
relatively straightforward with procedures.

On the other hand if use the master and backup masters we will be giving them a 
new specialized responsibility, which will introduce new specialized code. And 
then we would need to introduce more code for the master(s) to not get 
hammered. 

2. From an operations perspective it would be easier for operations folks to 
reason about things as the way both catalog tiers are handled are the same and 
so the way to manage them if there are issues are the same.

Please correct me if I'm making any wrong assumptions here. Let me know what 
you think? 




> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-05-20 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

{quote}
Just do not see any difference if we just have a single root region on a region 
server? For all the cases, the client will also harmmering the region server 
which hosts the root region and bring down all the cluster...
{quote}

IMHO this type of workload is a regionserver responsibility and hence there are 
advantages to it being done on the regionserver. 

1. AFAIK hbase:meta today is getting hammered? If so, we'll likely want to fix 
that if we haven't already? If so then whatever fix/enhancement we did the root 
table can take advantage of as well? In which case it gives simplicity and code 
reuse as we are applying one solution to two problems. Although we'd have to 
add code for root getting assigned first etc, which I believe should be 
relatively straightforward with procedures.

On the other hand if use the master and backup masters we will be giving them a 
new specialized responsibility, which will introduce new specialized code. And 
then we would need to introduce more code for the master(s) to not get 
hammered. 

2. From an operations perspective it would be easier for operations folks to 
reason about things as the way both catalog tiers are handled are the same and 
so the way to manage them if there are issues are the same.

Please correct me if I'm making any wrong assumptions here. Let me know what 
you think? 




> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-05-20 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

{quote}
Yes please, if all your changes are floating on upstream history this will be 
nice and tidy. 
{quote}
Will do!

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-11288) Splittable Meta

2020-05-19 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu edited comment on HBASE-11288 at 5/19/20, 10:42 AM:


{quote}
We store the procedure data in a local HRegion on master.
{quote}
I see thanks for the explanation and the link.

{quote}
And on client accessing meta, I think for root region it is fine. We do not 
mirror all the requests to region servers to master, when will only contact 
master when locating meta, which should be rarely happen. 
{quote}
I can think of a couple of cases were it might not be good/ideal:
1. Large batch jobs that does lookups on an hbase table in tasks would hit it 
on startup. Same for large application restarts (eg storm topologies, etc).
2. In the event of failure degradation is not as graceful, as if clients are 
not able to find meta  regions they will start hammering the master when the 
master is already busy trying to recover the cluster.
3. Generally just misbehaving actors (eg poorly written applications) or buggy 
third party client implementations that users attempt to use. 

{quote}
And now we even have a MasterRegistry on 2.x, where we move the locating meta 
requests from zk to master.
{quote}
I think what we might do is add a resolver plugin so all master registry 
requests just go to the backup masters. I've not looked at the code yet but 
maybe we can have the backup masters serve out the local hregion content from 
the backup masters?  IMHO ideally  the registry should've been served out of 
the regionservers. Today we have a "system" regionserver group where all the 
system tables served out of (including root). With the new setup we would have 
a system group and an extra set of master servers for serving out root and 
registry stuff and the extra operational nuance of backup masters not just 
being backup but doing active work for the system. 

Just laying out my concerns let me know what you guys think?  Let me know if 
it's reasonable/unreasonable.



was (Author: toffer):
{quote}
We store the procedure data in a local HRegion on master.
{quote}
I see thanks for the explanation and the link.

{quote}
And on client accessing meta, I think for root region it is fine. We do not 
mirror all the requests to region servers to master, when will only contact 
master when locating meta, which should be rarely happen. 
{quote}
I can think of a couple of cases were it might not be good/ideal:
1. Large batch jobs that does lookups on an hbase table in tasks would hit it 
on startup. Same for large application restarts (eg storm topologies, etc).
2. In the event of failure degradation is not as graceful, as if clients are 
not able to find meta  regions they will start hammering the master when the 
master is already busy trying to recover the cluster.
3. Generally just misbehaving actors (eg poorly written applications) or buggy 
third party client implementations that users attempt to use. 

{quote}
And now we even have a MasterRegistry on 2.x, where we move the locating meta 
requests from zk to master.
{quote}
I think what we might do is add a resolver plugin so all master registry 
requests just go to the backup masters. I've not looked at the code yet but 
maybe we can have the backup masters serve out the local hregion content from 
the backup masters?  IMHO ideally  the registry should've been served out of 
the regionservers. Today we have a "system" regionserver group where all the 
system tables served out of (including root). With the new setup we would have 
a system group and an extra set of master servers for serving out root and 
registry stuff and the extra nuance of backup masters not just being backup but 
doing active work for the system. 

Just laying out my concerns let me know what you guys think?  


> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-05-19 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

{quote}
We store the procedure data in a local HRegion on master.
{quote}
I see thanks for the explanation and the link.

{quote}
And on client accessing meta, I think for root region it is fine. We do not 
mirror all the requests to region servers to master, when will only contact 
master when locating meta, which should be rarely happen. 
{quote}
I can think of a couple of cases were it might not be good/ideal:
1. Large batch jobs that does lookups on an hbase table in tasks would hit it 
on startup. Same for large application restarts (eg storm topologies, etc).
2. In the event of failure degradation is not as graceful, as if clients are 
not able to find meta  regions they will start hammering the master when the 
master is already busy trying to recover the cluster.
3. Generally just misbehaving actors (eg poorly written applications) or buggy 
third party client implementations that users attempt to use. 

{quote}
And now we even have a MasterRegistry on 2.x, where we move the locating meta 
requests from zk to master.
{quote}
I think what we might do is add a resolver plugin so all master registry 
requests just go to the backup masters. I've not looked at the code yet but 
maybe we can have the backup masters serve out the local hregion content from 
the backup masters?  IMHO ideally  the registry should've been served out of 
the regionservers. Today we have a "system" regionserver group where all the 
system tables served out of (including root). With the new setup we would have 
a system group and an extra set of master servers for serving out root and 
registry stuff and the extra nuance of backup masters not just being backup but 
doing active work for the system. 

Just laying out my concerns let me know what you guys think?  


> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-05-19 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

Thanks for the feedback [~stack]!

{quote}
Can we split meta in a way such that older clients keep working? Perhaps old 
clients get a proxying Region that fields requests to the actual split meta 
table so they keep working?
{quote}
We have rest and thrift proxies. I don't see why we can't do this. Do you want 
it implemented now as a PoC before we go forward with completing the feature?

{quote}
Can we NOT do a ROOT table w/ its crazy meta-meta comparator?
{quote}
What are your concerns with it? Trying to understand what needs to be 
addressed? 

{quote}
We've not been good at tier's of assign; i.e. ROOT first, then META regions.
{quote}
Do you remember any of the big issues? I think procedures have helped in that 
regard. We've not have any problems AFAIK with 1.3 that uses SCPs, etc. 
ChaosMonkey should suss any other issues out?


> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-05-19 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

{quote}
For one, it makes evaluating the split meta patch plus recommended changes like 
master local region possible. 
{quote}
Sounds good. I've created a branch named HBASE-11288. Also by the sound of it I 
should be rebasing when I pull in stuff from upstream and not merging? If there 
are any other best practices I should follow please let me know or point me in 
the right direction. Thanks!

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-05-18 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

Thanks a lot [~zhangduo] and [~apurtell] for taking a look! 

[~apurtell] I'll put up a feature branch. Tho I'm not sure how it helps 
reviewing the code changes? With regards to making the patch smaller. There are 
things that are sort of broken in trunk but functional because meta is not 
split (eg comparator changes). I could break those out and get those merged in 
first? Beyond that I'm open to suggestions?

[~zhangduo] Let me take a look at the "master local region" any pointer would 
be helpful. Although off-hand given your description it sounds to me like 
requests for locating meta reigions will be served by the master? If so at 
least in 1.x, I felt that having clients not accessing the master for data 
access was an important feature. We'll run into a lot of trouble if clients 
start hammering the master etc. I'd like to hear your thoughts as I'm not sure 
how things are in 2.x now, but that would be a concern that I'd have if my 
understanding is correct?

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Umbrella
>  Components: meta
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-11288) Splittable Meta

2020-04-02 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu edited comment on HBASE-11288 at 4/2/20, 10:35 AM:
---

Hi, I pushed up my current WIP/Draft patch for feedback as  PR on 
[github|https://github.com/apache/hbase/pull/1418]. Please let me know what you 
guys think.


was (Author: toffer):
Hi, I pushed up my current WIP/Draft patch for feedback as  PR on 
[github|https://github.com/apache/hbase/pull/1418]. 

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2020-04-02 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

Hi, I pushed up my current WIP/Draft patch for feedback as  PR on 
[github|https://github.com/apache/hbase/pull/1418]. 

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-11288) Splittable Meta

2019-10-01 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu edited comment on HBASE-11288 at 10/1/19 9:11 PM:
--

{quote}
I'd like to see old clients keep working though meta has split under them. 
Perhaps the serverName in the MetaRegionServer znode proxies requests when the 
region asked for is named 'hbase:meta,,1.1588230740' to actual meta table whose 
regions could be elsewhere on the cluster. I suppose 'hbase:meta,,1.1588230740' 
would have to be the old ROOT too?
{quote}
Oh interesting idea. How about instead of proxying when a requests for meta 
hits the RS with the ROOT region, we could throw a RegionMovedException to 
redirect the client to the proper meta region RS . On the RS holding the meta 
region we translate the 'hbase:meta,,1.1588230740' region info to the 
appropriate meta region info if split. This way we can avoid proxying which 
seems to make things a bit more complicated?

{quote}
Lets do a one-pager.
{quote}
Sounds good.


was (Author: toffer):
{quote}
I'd like to see old clients keep working though meta has split under them. 
Perhaps the serverName in the MetaRegionServer znode proxies requests when the 
region asked for is named 'hbase:meta,,1.1588230740' to actual meta table whose 
regions could be elsewhere on the cluster. I suppose 'hbase:meta,,1.1588230740' 
would have to be the old ROOT too?
{quote}
Oh interesting idea. How about instead of proxying we could throw a 
RegionMovedException to redirect to the proper meta region RS when a requests 
for meta hits the RS with the ROOT region. On the RS holding the meta region we 
translate the 'hbase:meta,,1.1588230740' region info to the appropriate meta 
region info if split. This way we can avoid proxying which seems to make things 
a bit more complicated?

{quote}
Lets do a one-pager.
{quote}
Sounds good.

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2019-10-01 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

{quote}
I'd like to see old clients keep working though meta has split under them. 
Perhaps the serverName in the MetaRegionServer znode proxies requests when the 
region asked for is named 'hbase:meta,,1.1588230740' to actual meta table whose 
regions could be elsewhere on the cluster. I suppose 'hbase:meta,,1.1588230740' 
would have to be the old ROOT too?
{quote}
Oh interesting idea. How about instead of proxying we could throw a 
RegionMovedException to the proper meta region destination when a requests for 
meta hits the RS with the ROOT region. On the RS holding the meta region we 
translate the 'hbase:meta,,1.1588230740' region info to the appropriate meta 
region info if split. This way we can avoid proxying which seems to make things 
a bit more complicated?

{quote}
Lets do a one-pager.
{quote}
Sounds good.

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-11288) Splittable Meta

2019-10-01 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu edited comment on HBASE-11288 at 10/1/19 9:10 PM:
--

{quote}
I'd like to see old clients keep working though meta has split under them. 
Perhaps the serverName in the MetaRegionServer znode proxies requests when the 
region asked for is named 'hbase:meta,,1.1588230740' to actual meta table whose 
regions could be elsewhere on the cluster. I suppose 'hbase:meta,,1.1588230740' 
would have to be the old ROOT too?
{quote}
Oh interesting idea. How about instead of proxying we could throw a 
RegionMovedException to redirect to the proper meta region RS when a requests 
for meta hits the RS with the ROOT region. On the RS holding the meta region we 
translate the 'hbase:meta,,1.1588230740' region info to the appropriate meta 
region info if split. This way we can avoid proxying which seems to make things 
a bit more complicated?

{quote}
Lets do a one-pager.
{quote}
Sounds good.


was (Author: toffer):
{quote}
I'd like to see old clients keep working though meta has split under them. 
Perhaps the serverName in the MetaRegionServer znode proxies requests when the 
region asked for is named 'hbase:meta,,1.1588230740' to actual meta table whose 
regions could be elsewhere on the cluster. I suppose 'hbase:meta,,1.1588230740' 
would have to be the old ROOT too?
{quote}
Oh interesting idea. How about instead of proxying we could throw a 
RegionMovedException to the proper meta region destination when a requests for 
meta hits the RS with the ROOT region. On the RS holding the meta region we 
translate the 'hbase:meta,,1.1588230740' region info to the appropriate meta 
region info if split. This way we can avoid proxying which seems to make things 
a bit more complicated?

{quote}
Lets do a one-pager.
{quote}
Sounds good.

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-11288) Splittable Meta

2019-09-30 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu edited comment on HBASE-11288 at 10/1/19 1:21 AM:
--

{quote}
How many rows in your biggest hbase:root? And how many regions in hbase:meta 
have you gotten to? 
{quote}
We have a cluster that has 1.04 million regions. That same cluster has 119 
hbase:meta regions. We configured the split size to be small.  

{quote}
A lot has changed since 1.3 but patch will help.
{quote}
Yes, it shows two important things: 1. The approach of adding a splittable 
hbase:meta is fairly straightforward and can be applied to other branches (even 
tho a lot has changed), 2. The approach works :-). Next question is where do we 
go from here? A patch for master?


was (Author: toffer):
{quote}
How many rows in your biggest hbase:root? And how many regions in hbase:meta 
have you gotten to? 
{quote}
We have a cluster that has 1.04 million regions. That same cluster has 119 
hbase:meta regions. We configured the split size to be small.  

{quote}
A lot has changed since 1.3 but patch will help.
{quote}
Yes, it shows two important things: 1. The approach of adding hbase:meta is 
fairly straightforward and can be applied to other branches (even tho a lot has 
changed), 2. The approach works :-). Next question is where do we go from here? 
A patch for master?

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2019-09-30 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

BTW let me know if the document needs more information.

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2019-09-30 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

{quote}
How many rows in your biggest hbase:root? And how many regions in hbase:meta 
have you gotten to? 
{quote}
We have a cluster that has 1.04 million regions. That same cluster has 119 
hbase:meta regions. We configured the split size to be small.  

{quote}
A lot has changed since 1.3 but patch will help.
{quote}
Yes, it shows two important things: 1. The approach of adding hbase:meta is 
fairly straightforward and can be applied to other branches (even tho a lot has 
changed), 2. The approach works :-). Next question is where do we go from here? 
A patch for master?

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2019-09-30 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

{quote}
Since now META can split all the journal entries that is been added for a 
region split will now be added to ROOT and the failure of the meta split will 
be treated similar to a normal region, correct?
{quote}
In 1.3 Journals are not persisted perhaps in newer 1.x versions? Tho yes 
regionstate information for hbase:meta regions are persisted in the hbase:root 
table. Meta region split failures will be handled in the same manner that is 
correct. Tho there are cases that hbase:meta region operations will take 
priority over user regions but I'll have to double check which parts those are. 
It's been a while.

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-11288) Splittable Meta

2019-09-30 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu edited comment on HBASE-11288 at 9/30/19 6:06 AM:
--

Apologies for the delay here's a short 
[writeup|https://docs.google.com/document/d/1cs_sRC5xbK2JPdw99kqUqUGMJ0yHier5QPx21al619g/edit].
 Let me know if it needs more detail or feel free to comment. BTW I had to 
rebase the branch.

 

 


was (Author: toffer):
Apologies for the delay here's a short 
[writeup|[https://docs.google.com/document/d/1cs_sRC5xbK2JPdw99kqUqUGMJ0yHier5QPx21al619g/edit]]
 . Let me know if it needs more detail or feel free to comment. BTW I had to 
rebase the branch.

 

 

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-11288) Splittable Meta

2019-09-30 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu commented on HBASE-11288:
-

Apologies for the delay here's a short 
[writeup|[https://docs.google.com/document/d/1cs_sRC5xbK2JPdw99kqUqUGMJ0yHier5QPx21al619g/edit]].
 Let me know if it needs more detail or feel free to comment. BTW I had to 
rebase the branch.

 

 

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-11288) Splittable Meta

2019-09-30 Thread Francis Christopher Liu (Jira)


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

Francis Christopher Liu edited comment on HBASE-11288 at 9/30/19 6:04 AM:
--

Apologies for the delay here's a short 
[writeup|[https://docs.google.com/document/d/1cs_sRC5xbK2JPdw99kqUqUGMJ0yHier5QPx21al619g/edit]]
 . Let me know if it needs more detail or feel free to comment. BTW I had to 
rebase the branch.

 

 


was (Author: toffer):
Apologies for the delay here's a short 
[writeup|[https://docs.google.com/document/d/1cs_sRC5xbK2JPdw99kqUqUGMJ0yHier5QPx21al619g/edit]].
 Let me know if it needs more detail or feel free to comment. BTW I had to 
rebase the branch.

 

 

> Splittable Meta
> ---
>
> Key: HBASE-11288
> URL: https://issues.apache.org/jira/browse/HBASE-11288
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Francis Christopher Liu
>Assignee: Francis Christopher Liu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)