nkeywal created HBASE-5859:
------------------------------

             Summary: Optimize the rolling restart script
                 Key: HBASE-5859
                 URL: https://issues.apache.org/jira/browse/HBASE-5859
             Project: HBase
          Issue Type: Improvement
          Components: regionserver, scripts
    Affects Versions: 0.96.0
            Reporter: nkeywal
            Priority: Minor


There is a graceful_stop script. This algorithm:

{noformat}
for i = 0 to servers.size {
 regionsInServer = servers[i].regions
 move servers[i].regions to random
 stop servers[i]
 start servers[i]
 move regionsInServer to servers[i] //filled back with the same regions
}
{noformat}

It would be possible to optimize it while keeping data locality with

{noformat}
for i = 0 to servers.size {
 start servers[i*2+1] on the computer of servers[i] // Two RS on the same box
 move servers[i].regions to servers[i*2+1]  // The one on the same box
 stop servers[i]
}
{noformat}

There would be an impact with a fixed port configuration. To fix this, we could:
- use a range of port instead of a single port. This could be an issue for the 
web port.
- start on a port then reuse the fixed ones when they become available. This is 
not very elegant if a client code is already using the previous code. Moreover 
the region server code is written in the meta table.
- do a mix of the two solutions: a range for the server itself, while waiting 
for the web port to be available.


To be discussed...


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to