@@ -619,14 +619,17 @@ func (c *StoreReconciler) executeReconciliationAction(ctx context.Context, logge
619
619
// Unexpected things happen (i.e. bugs or bitflips); let's defend against disastrous outcomes.
620
620
// See https://blog.robertelder.org/causes-of-bit-flips-in-computer-memory/.
621
621
// This is obviously not comprehensive protection against this sort of problem, but this is one essential check.
622
- // TODO: uncomment:
623
- // desired := ps.Preset.DesiredInstances.Int32
624
- // if action.Create > desired {
625
- //logger.Critical(ctx, "determined excessive count of prebuilds to create; clamping to desired count",
626
- //slog.F("create_count", action.Create), slog.F("desired_count", desired))
627
- //
628
- //action.Create = desired
629
- //}
622
+ desired ,err := ps .CalculateDesiredInstances (c .clock .Now ())
623
+ if err != nil {
624
+ return xerrors .Errorf ("failed to calculate desired instances: %w" ,err )
625
+ }
626
+
627
+ if action .Create > desired {
628
+ logger .Critical (ctx ,"determined excessive count of prebuilds to create; clamping to desired count" ,
629
+ slog .F ("create_count" ,action .Create ),slog .F ("desired_count" ,desired ))
630
+
631
+ action .Create = desired
632
+ }
630
633
631
634
// If preset is hard-limited, and it's a create operation, log it and exit early.
632
635
// Creation operation is disallowed for hard-limited preset.