in ingest/src/main/java/com/microsoft/azure/kusto/ingest/resources/RankedStorageAccountSet.java [71:94]
public List<RankedStorageAccount> getRankedShuffledAccounts() {
List<List<RankedStorageAccount>> tiersList = new ArrayList<>();
for (int i = 0; i < tiers.length; i++) {
tiersList.add(new ArrayList<>());
}
for (RankedStorageAccount account : this.accounts.values()) {
double rankPercentage = account.getRank() * 100.0;
for (int i = 0; i < tiers.length; i++) {
if (rankPercentage >= tiers[i]) {
tiersList.get(i).add(account);
break;
}
}
}
for (List<RankedStorageAccount> tier : tiersList) {
randomProvider.shuffle(tier);
}
// flatten tiers
return tiersList.stream().flatMap(Collection::stream).collect(Collectors.toList());
}