From b9bd0578de71c20ee9ec1ae541b4ba90af7d2f7b Mon Sep 17 00:00:00 2001 From: Sorawis Nilparuk Date: Thu, 4 Apr 2024 23:46:26 +0000 Subject: [PATCH 1/2] backport of commit b67338b2657d427ee1d57aff3a7780625a34ca00 --- internal/event/context.go | 2 +- internal/event/context_unexported_test.go | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/internal/event/context.go b/internal/event/context.go index fa20e8c53c..bef6c3668a 100644 --- a/internal/event/context.go +++ b/internal/event/context.go @@ -368,7 +368,7 @@ func newSendCtx(ctx context.Context) (context.Context, context.CancelFunc) { switch { case ctx == nil: return context.Background(), nil - case ctx.Err() == context.Canceled: + case ctx.Err() == context.Canceled || ctx.Err() == context.DeadlineExceeded: sendCtx, sendCancel = context.WithTimeout(context.Background(), cancelledSendTimeout) info, ok := RequestInfoFromContext(ctx) if ok { diff --git a/internal/event/context_unexported_test.go b/internal/event/context_unexported_test.go index 48ccdd77d7..338dcdd131 100644 --- a/internal/event/context_unexported_test.go +++ b/internal/event/context_unexported_test.go @@ -6,6 +6,7 @@ package event import ( "context" "testing" + "time" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -44,6 +45,28 @@ func Test_newSendCtx(t *testing.T) { }(), wantCancel: true, }, + { + name: "deadline-exceeded-with-info", + ctx: func() context.Context { + var err error + ctx, cancel := context.WithDeadline(context.Background(), time.Now().Add(-1*time.Millisecond)) + defer cancel() + ctx, err = NewRequestInfoContext(ctx, testInfo) + require.NoError(t, err) + return ctx + }(), + wantCancel: true, + wantInfo: true, + }, + { + name: "deadline-exceeded-no-info", + ctx: func() context.Context { + ctx, cancel := context.WithDeadline(context.Background(), time.Now().Add(-1*time.Millisecond)) + defer cancel() + return ctx + }(), + wantCancel: true, + }, { name: "no-info", ctx: context.Background(), From 27d765c734961661a69c2432bc44736d686622d6 Mon Sep 17 00:00:00 2001 From: Sorawis Nilparuk Date: Fri, 5 Apr 2024 17:38:02 +0000 Subject: [PATCH 2/2] backport of commit 37acaa553a3f50cafc7eb92ef5bc5afcd9d21c04 --- internal/event/context_unexported_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/event/context_unexported_test.go b/internal/event/context_unexported_test.go index 338dcdd131..fcaf193bfb 100644 --- a/internal/event/context_unexported_test.go +++ b/internal/event/context_unexported_test.go @@ -88,6 +88,7 @@ func Test_newSendCtx(t *testing.T) { ctx, cancel := newSendCtx(tt.ctx) require.NotNil(ctx) assert.True(ctx.Err() != context.Canceled) + assert.True(ctx.Err() != context.DeadlineExceeded) if tt.wantCancel { require.NotNil(cancel) } else {