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