This file contains the nodes we think are proper members of the cluster, or at least would be if they were up.
This file currently contains the following information:
As usual, the hostname is the output of uname-n, and the UUID is always exactly 36 characters long, and each line is terminated by a newline. There is exactly one tab between the host name and the uuid. A sample hostcache file is shown below:
paul 6d3906ef-d88f-4363-afac-609884ddbb90 silas d47c5806-a54c-45a3-9e22-2fe8dd27336f
For a variety of reasons, it would be desirable to have the host cache file contain a little more information.
One of the proposed new fields would be quorum votes. In our current quorum algorithm, each node has one vote. In this scheme, the quorum votes would be weighted, with each node having an integral number of votes >= 0.
This is desirable for split-site clusters (with different numbers of nodes in each site) and for scientific clusters where only certain nodes are eligible to become the cluster's head node. For those types of clusters, if there is no node capable of becoming a head node, no useful cluster can be formed. So, it's important to ensure that no subcluster can gain quorum without a head-node-capable node.
This field would be available to allow one to designate nodes as belonging to different sites, in order to make more interesting quorum and/or tiebreaker algorithms possible. The site would be an ASCII string with no meaning inherent in the strings.
If both fields were added, then it would be possible to have a hostcache file which looked something like this:
paul 6d3906ef-d88f-4363-afac-609884ddbb90 1 rome silas d47c5806-a54c-45a3-9e22-2fe8dd27336f 1 rome priscilla 0f74f51a-ecf2-4271-8a94-ce4dd210fe92 1 corinth aquila d47c5806-a54c-d88f-6343-2fe8dd27336f 1 corinth