Skip to content

Commit 7d9501c

Browse files
authored
Merge pull request #5580 from punkwalker/fix-attemptContextMiddleware
🐛 Fix addition logic of getAttemptContextMiddleware
2 parents a2d41b7 + 35bedf4 commit 7d9501c

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

pkg/cloud/metricsv2/metrics.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import (
2424
"time"
2525

2626
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
27+
"github.com/aws/aws-sdk-go-v2/aws/retry"
2728
"github.com/aws/smithy-go/middleware"
2829
smithyhttp "github.com/aws/smithy-go/transport/http"
2930
"github.com/prometheus/client_golang/prometheus"
@@ -100,8 +101,11 @@ func WithMiddlewares(controller string, target runtime.Object) func(stack *middl
100101
if err := stack.Finalize.Add(getRequestMetricContextMiddleware(), middleware.Before); err != nil {
101102
return fmt.Errorf("failed to add request metric context middleware: %w", err)
102103
}
103-
if err := stack.Finalize.Insert(getAttemptContextMiddleware(), "Retry", middleware.After); err != nil {
104-
return fmt.Errorf("failed to add attempt context middleware: %w", err)
104+
// Check if the Default Retry Middleware exists.
105+
if _, ok := stack.Finalize.Get((*retry.Attempt)(nil).ID()); ok {
106+
if err := stack.Finalize.Insert(getAttemptContextMiddleware(), (*retry.Attempt)(nil).ID(), middleware.After); err != nil {
107+
return fmt.Errorf("failed to add attempt context middleware: %w", err)
108+
}
105109
}
106110
return stack.Finalize.Add(getRecordAWSPermissionsIssueMiddleware(target), middleware.After)
107111
}

0 commit comments

Comments
 (0)