The region servers report to it as they have always done.

HRegionServer, line 363:

            this.requestCount.set(0);
            HMsg msgs[] = hbaseMaster.regionServerReport(
              serverInfo, outboundArray, getMostLoadedRegions());
            lastMsg = System.currentTimeMillis();

The start code is in the serverInfo variable.

It's handled at the master at ServerManager#regionServerReport. The master
is still brought up in the same way, doing all the scanning and reassigning
regions as before. As far as I know that code has not changed much since ZK
came in.

We use ZooKeeper to store RS server address with the start code, but that's
for lease expiring once things are already up. See
ZooKeeperWrapper#updateRSLocationGetWatch for that.

Now, HBASE-1302 will change exactly the stuff you ask about, because we want
region servers to serve the regions they were assigned from the old master
when a new one comes in.

Hope that helps.

-n

On Tue, Mar 31, 2009 at 11:38 AM, Jim Kellerman (POWERSET) <
[email protected]> wrote:

> Nitay, J-D, or anyone else who knows:
>
> When a master is starting up:
> - How does it discover what region servers are running? (and does
>  it get the region server's start code at this point too?)
> - Can you point me to the code where this happens?
> - At what point during the master's start-up process does this occur?
>
> I need this information to create a patch for HBASE-698, which
> was blocked by ZK integration, but it seems like there is enough
> there at this point (or will be after HBASE-1302) so that this issue
> can finally be addressed.
>
> Thanks!
>
> ---
> Jim Kellerman, Powerset (Live Search, Microsoft Corporation)
>
>
>

Reply via email to