public List<ServerName> getBootstrapNodes() {
    return nodes;
  }
Manage the bootstrap node list at region server side.
<p/>
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.
<p/>
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.
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/BootstrapNodeManager.java