in driver/src/main/scala/com/datastax/spark/connector/cql/LocalNodeFirstLoadBalancingPolicy.scala [189:200]
def sortNodesByStatusAndProximity(dc: String, nodesToSort: Set[Node]): Seq[Node] = {
val grouped = nodesToSort.groupBy {
case node if node.getDatacenter != dc => None
case node if node.getState != NodeState.UP => Some(2)
case node if !isLocalHost(node) => Some(1)
case _ => Some(0)
} - None
grouped.toSeq.sortBy(_._1.get).flatMap {
case (_, nodes) => random.shuffle(nodes.toIndexedSeq)
}
}