[
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)