@@ -639,7 +639,7 @@ func createWorkspace(
639
639
provisionerDaemons []database.GetEligibleProvisionerDaemonsByProvisionerJobIDsRow
640
640
)
641
641
642
- prebuilds := * api .PrebuildsClaimer .Load ()
642
+ prebuildsClaimer := * api .PrebuildsClaimer .Load ()
643
643
644
644
err = api .Database .InTx (func (db database.Store ) error {
645
645
var (
@@ -650,8 +650,8 @@ func createWorkspace(
650
650
// If a template preset was chosen, try claim a prebuilt workspace.
651
651
if req .TemplateVersionPresetID != uuid .Nil {
652
652
// Try and claim an eligible prebuild, if available.
653
- claimedWorkspace , err = claimPrebuild (ctx , prebuilds , db , api .Logger , req , owner )
654
- if err != nil {
653
+ claimedWorkspace , err = claimPrebuild (ctx , prebuildsClaimer , db , api .Logger , req , owner )
654
+ if err != nil && ! errors . Is ( err , prebuilds . ErrNoClaimablePrebuiltWorkspaces ) {
655
655
return xerrors .Errorf ("claim prebuild: %w" , err )
656
656
}
657
657
}
@@ -683,7 +683,7 @@ func createWorkspace(
683
683
} else {
684
684
// Prebuild found!
685
685
workspaceID = claimedWorkspace .ID
686
- initiatorID = prebuilds .Initiator ()
686
+ initiatorID = prebuildsClaimer .Initiator ()
687
687
}
688
688
689
689
// We have to refetch the workspace for the joined in fields.
@@ -886,11 +886,6 @@ func claimPrebuild(ctx context.Context, claimer prebuilds.Claimer, db database.S
886
886
return nil , xerrors .Errorf ("claim prebuild: %w" , err )
887
887
}
888
888
889
- // No prebuild available.
890
- if claimedID == nil {
891
- return nil , nil
892
- }
893
-
894
889
lookup , err := db .GetWorkspaceByID (prebuildsCtx , * claimedID )
895
890
if err != nil {
896
891
logger .Error (ctx , "unable to find claimed workspace by ID" , slog .Error (err ), slog .F ("claimed_prebuild_id" , (* claimedID ).String ()))
0 commit comments