When shards.preferences is specified, all inherently equivalent groups of replicas should fall back to being sorted by the replica.base strategy (either random or some variant of "stable"). This currently works for every group of "equivalent" replicas, with the exception of "last place" matches.
This is easy to overlook, because usually it's the "first place" matches that will be selected for the purpose of actually executing distributed requests; but it's still a bug, and is especially problematic when "last place matches" == "first place matches" – e.g. when shards.preference specified matches all available replicas.
- links to