Skip to content

Commit

Permalink
Eliza's feedback
Browse files Browse the repository at this point in the history
  • Loading branch information
smklein committed Feb 6, 2025
1 parent fdccd6b commit 97b9b2e
Showing 1 changed file with 14 additions and 10 deletions.
24 changes: 14 additions & 10 deletions nexus/db-queries/src/db/datastore/sled.rs
Original file line number Diff line number Diff line change
Expand Up @@ -267,21 +267,25 @@ fn pick_sled_reservation_target(
// Only consider "unpreferred" sleds that are viable targets
unpreferred = targets.intersection(&unpreferred).cloned().collect();

// If a target is both preferred and unpreferred, it is removed
// from both sets.
// If a target is both preferred and unpreferred, it is not considered
// a part of either set.
let both = preferred.intersection(&unpreferred).cloned().collect();
preferred = preferred.difference(&both).cloned().collect();
unpreferred = unpreferred.difference(&both).cloned().collect();

if let Some(target) = preferred.iter().next() {
return Ok(*target);
// Grab a preferred target (which isn't also unpreferred) if one exists.
if let Some(target) = preferred.difference(&both).cloned().next() {
return Ok(target);
}
unpreferred = unpreferred.difference(&both).cloned().collect();
targets = targets.difference(&unpreferred).cloned().collect();
if let Some(target) = targets.iter().next() {
return Ok(*target);

// Grab a target which not in the unpreferred set, if one exists.
if let Some(target) = targets.iter().cloned().next() {
return Ok(target);
}
if let Some(target) = unpreferred.iter().next() {
return Ok(*target);

// Grab a target from the unpreferred set, if one exists.
if let Some(target) = unpreferred.iter().cloned().next() {
return Ok(target);
}
return Err(SledReservationError::NotFound);
}
Expand Down

0 comments on commit 97b9b2e

Please sign in to comment.