@@ -619,14 +619,17 @@ func (c *StoreReconciler) executeReconciliationAction(ctx context.Context, logge
619619 // Unexpected things happen (i.e. bugs or bitflips); let's defend against disastrous outcomes.
620620 // See https://blog.robertelder.org/causes-of-bit-flips-in-computer-memory/.
621621 // 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+ }
630633
631634 // If preset is hard-limited, and it's a create operation, log it and exit early.
632635 // Creation operation is disallowed for hard-limited preset.
0 commit comments