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

stack edited comment on HBASE-19785 at 1/17/18 6:00 PM:
--------------------------------------------------------

I spent more time on this. The Master-as-RegionServer needs more work. The 
complication is special-handling assigning hbase:meta ahead of all other 
regions. Master would need to have checked-in as an 'ordinary' RegionServer way 
early in Master startup. This complicates assign. In past we had Master start 
up a background thread that took care of background check-in by RegionServers 
but it 'escaped' our control of startup sequence so could have cases as in the 
parent issue where a mis-sequencing of events could have the Master kill 
itself; i.e. Master Connection failing to read the clusterid on setup because 
Master had not yet set it; and so on .

What sort-of-works is that the Master can act as any other RegionServer. It'll 
be late to check in so will probably miss the initial assignments but should 
pick up regions the next time the balancer runs.

TODO: backup Masters carrying regions.

For Master to be true RegionServer, needs more work/refactor/thought. Meantime, 
I can reenable a bunch of the disabled tests above: all of TestMultiParallel if 
I don't stipulate system tables on Master only and half of 
TestRegionServerReadRequestMetrics (too lazy to figure the counts in the 
remainder).  The TestRegionsOnMasterOptions has the three possible 
combinations. The system-tables-on-master only is what does not work and is 
disabled.


was (Author: stack):
I spent more time on this. The Master-as-RegionServer needs more work. The 
complication is special-handling assigning hbase:meta ahead of all other 
regions. Master would need to have checked-in as an 'ordinary' RegionServer way 
early in Master startup. This complicates assign. In past we had Master start 
up a background thread that took care of background check-in by RegionServers 
but it 'escaped' our control of startup sequence.

What sort-of-works is that the Master can act as any other RegionServer. It'll 
be late to check in so will probably miss the initial assignments but should 
pick up regions the next time the balancer runs.

TODO: backup Masters carrying regions.

For Master to be true RegionServer, needs more work/refactor/thought. Meantime, 
I can reenable a bunch of the disabled tests above: all of TestMultiParallel if 
I don't stipulate system tables on Master only and half of 
TestRegionServerReadRequestMetrics (too lazy to figure the counts in the 
remainder).  The TestRegionsOnMasterOptions has the three possible 
combinations. The system-tables-on-master only is what does not work and is 
disabled.

> System Regions on the Master is broken
> --------------------------------------
>
>                 Key: HBASE-19785
>                 URL: https://issues.apache.org/jira/browse/HBASE-19785
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: stack
>            Assignee: stack
>            Priority: Major
>             Fix For: 2.0.0
>
>
> The parent issue broke our being able to host system regions only on the 
> Master.
> This broke a few tests that depend on this ability. Two of the below actually 
> enable system regions on the Master for the test run. The remainder is the 
> test that make sure this works.
> TestMultiParallel
> TestRegionsOnMasterOptions
> TestRegionServerReadRequestMetrics
> Parent changed the startup order. System regions and Master-as-a-RegionServer 
> are having  issues because we wait for regionservers to check in before 
> completing Master startup which gets interesting when Master is supposed to 
> act like a RegionServer. Previously, Master startup was off in a background 
> thread.
> Needs more thought but not required for beta-1.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to