From 13285c30dd17420d53bb44a2e7826d01ec812434 Mon Sep 17 00:00:00 2001 From: Jon Ayers Date: Thu, 19 Jun 2025 02:07:39 +0000 Subject: [PATCH] fix: handle postgres query cancellation in TestAcquireJobWithCancel_Cancel The test was failing because it was checking for context.Canceled using xerrors.Is, but postgres returns a different error ("pq: canceling statement due to user request") when a query is cancelled. This change uses database.IsQueryCanceledError which properly handles both context.Canceled and postgres-specific cancellation errors. --- coderd/provisionerdserver/provisionerdserver.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coderd/provisionerdserver/provisionerdserver.go b/coderd/provisionerdserver/provisionerdserver.go index b8cf6315a8e3f..0398bbf5f4b3e 100644 --- a/coderd/provisionerdserver/provisionerdserver.go +++ b/coderd/provisionerdserver/provisionerdserver.go @@ -368,7 +368,7 @@ func (s *server) AcquireJobWithCancel(stream proto.DRPCProvisionerDaemon_Acquire je = <-jec case je = <-jec: } - if xerrors.Is(je.err, context.Canceled) { + if database.IsQueryCanceledError(je.err) { s.Logger.Debug(streamCtx, "successful cancel") err := stream.Send(&proto.AcquiredJob{}) if err != nil {