Roles / Classes matrix

This is a great chart! It has made me sit and ponder why some of these are never instead of worst. I’m not actually sure why we ban cluster controllers on Transaction…

In 6.1 there will be two more roles/classes, for Data Distribution and Ratekeeper, as they’ve now been split off into separate roles from the master. (Thanks @jzhou!)

DataDistribution will recruit as many storage servers as it can from processes that match Storage at Unset or better. WorstFit class processes will only be used there are no healthy storage teams left, so we need to make drastic actions to try and restore fault tolerance back to ReplicationFactor copies of data.

(The exact line you’re looking for is this one. Note that the process class check is missing in the criticalRecruitment case underneath it.)