Skip to content

Commit fd0b34d

Browse files
authored
Merge pull request kubernetes#87911 from tedyu/rm-exp-backoff
Remove the exponential backoff in NodeGetInfo
2 parents c9d4257 + f48e5de commit fd0b34d

File tree

2 files changed

+7
-33
lines changed

2 files changed

+7
-33
lines changed

pkg/volume/csi/csi_client.go

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ import (
3131
"google.golang.org/grpc/status"
3232
api "k8s.io/api/core/v1"
3333
"k8s.io/apimachinery/pkg/api/resource"
34-
"k8s.io/apimachinery/pkg/util/wait"
3534
"k8s.io/klog"
3635
"k8s.io/kubernetes/pkg/volume"
3736
volumetypes "k8s.io/kubernetes/pkg/volume/util/types"
@@ -152,22 +151,12 @@ func (c *csiDriverClient) NodeGetInfo(ctx context.Context) (
152151
err error) {
153152
klog.V(4).Info(log("calling NodeGetInfo rpc"))
154153

155-
// TODO retries should happen at a lower layer (issue #73371)
156-
backoff := wait.Backoff{Duration: initialDuration, Factor: factor, Steps: steps}
157-
err = wait.ExponentialBackoff(backoff, func() (bool, error) {
158-
var getNodeInfoError error
159-
nodeID, maxVolumePerNode, accessibleTopology, getNodeInfoError = c.nodeGetInfoV1(ctx)
160-
if nodeID != "" {
161-
return true, nil
162-
}
163-
if getNodeInfoError != nil {
164-
klog.Warningf("Error calling CSI NodeGetInfo(): %v", getNodeInfoError.Error())
165-
}
166-
// Continue with exponential backoff
167-
return false, nil
168-
})
169-
170-
return nodeID, maxVolumePerNode, accessibleTopology, err
154+
var getNodeInfoError error
155+
nodeID, maxVolumePerNode, accessibleTopology, getNodeInfoError = c.nodeGetInfoV1(ctx)
156+
if getNodeInfoError != nil {
157+
klog.Warningf("Error calling CSI NodeGetInfo(): %v", getNodeInfoError.Error())
158+
}
159+
return nodeID, maxVolumePerNode, accessibleTopology, getNodeInfoError
171160
}
172161

173162
func (c *csiDriverClient) nodeGetInfoV1(ctx context.Context) (

pkg/volume/csi/csi_client_test.go

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ import (
2626
csipbv1 "github.com/container-storage-interface/spec/lib/go/csi"
2727
api "k8s.io/api/core/v1"
2828
"k8s.io/apimachinery/pkg/api/resource"
29-
"k8s.io/apimachinery/pkg/util/wait"
3029
"k8s.io/kubernetes/pkg/volume"
3130
"k8s.io/kubernetes/pkg/volume/csi/fake"
3231
volumetypes "k8s.io/kubernetes/pkg/volume/util/types"
@@ -314,7 +313,6 @@ func TestClientNodeGetInfo(t *testing.T) {
314313
expectedMaxVolumePerNode int64
315314
expectedAccessibleTopology map[string]string
316315
mustFail bool
317-
mustTimeout bool
318316
err error
319317
}{
320318
{
@@ -328,13 +326,6 @@ func TestClientNodeGetInfo(t *testing.T) {
328326
mustFail: true,
329327
err: errors.New("grpc error"),
330328
},
331-
{
332-
name: "test empty nodeId",
333-
mustTimeout: true,
334-
expectedNodeID: "",
335-
expectedMaxVolumePerNode: 16,
336-
expectedAccessibleTopology: map[string]string{"com.example.csi-topology/zone": "zone1"},
337-
},
338329
}
339330

340331
for _, tc := range testCases {
@@ -358,13 +349,7 @@ func TestClientNodeGetInfo(t *testing.T) {
358349
}
359350

360351
nodeID, maxVolumePerNode, accessibleTopology, err := client.NodeGetInfo(context.Background())
361-
if tc.mustTimeout {
362-
if wait.ErrWaitTimeout.Error() != err.Error() {
363-
t.Errorf("should have timed out : %s", tc.name)
364-
}
365-
} else {
366-
checkErr(t, tc.mustFail, err)
367-
}
352+
checkErr(t, tc.mustFail, err)
368353

369354
if nodeID != tc.expectedNodeID {
370355
t.Errorf("expected nodeID: %v; got: %v", tc.expectedNodeID, nodeID)

0 commit comments

Comments
 (0)