Class BootstrapNodeManager

java.lang.Object
org.apache.hadoop.hbase.regionserver.BootstrapNodeManager

@Private public class BootstrapNodeManager extends Object
Manage the bootstrap node list at region server side.

It will request master first to get the initial set of bootstrap nodes(a sub set of live region servers), and then it will exchange the bootstrap nodes with other bootstrap nodes. In most cases, if the cluster is stable, we do not need to request master again until we reach the request master interval. And if the current number of bootstrap nodes is not enough, we will request master soon.

The algorithm is very simple, as we will always fallback to request master. THe trick here is that, if we can not get enough bootstrap nodes from master, then the cluster will be small, so it will not put too much pressure on master if we always request master. And for large clusters, we will soon get enough bootstrap nodes and stop requesting master.