in server/src/jetbrains/buildServer/serverSide/priority/BuildQueuePriorityOrdering.java [57:77]
public synchronized void restoreQueue(@NotNull final List<SQueuedBuild> queuedBuilds) {
try {
myItemWeights.clear();
myMovedItemsPriorities.clear();
myPrioritiesOnTheInsertMoment.clear();
myLastResult.clear();
final List<SQueuedBuild> result = new ArrayList<>();
for (SQueuedBuild item: queuedBuilds) {
int buildTypePriority = getCurrentBuildTypePriority(item);
double weight = myPriorityCoefficient * buildTypePriority;
int position = getNewItemPosition(weight, result);
result.add(position, item);
myItemWeights.put(item.getItemId(), weight);
myPrioritiesOnTheInsertMoment.put(item.getItemId(), buildTypePriority);
}
myLastResult = new ArrayList<SQueuedBuild>(result);
} catch (Throwable t) {
myLogger.error("Error while compute new queue order", t);
}
}