fix(coderd): add blocking GetProvisionerJobByIDWithLock for workspace build cancellation (#19737)

Closes https://github.com/coder/internal/issues/885

Adds a new database method GetProvisionerJobByIDWithLock that uses FOR
UPDATE without SKIP LOCKED to fix workspace build cancellation returning
500 errors when jobs are locked.
This commit is contained in:
Kacper Sawicki
2025-09-08 15:40:14 +02:00
committed by GitHub
parent 065c7c3d5d
commit 776231d025
9 changed files with 109 additions and 2 deletions
+1 -1
View File
@@ -580,7 +580,7 @@ func TestPatchCancelWorkspaceBuild(t *testing.T) {
require.Eventually(t, func() bool {
err := client.CancelWorkspaceBuild(ctx, build.ID, codersdk.CancelWorkspaceBuildParams{})
return assert.NoError(t, err)
return err == nil
}, testutil.WaitShort, testutil.IntervalMedium)
require.Eventually(t, func() bool {