Skip to content

Commit

Permalink
feat(storage): add retry config to iterators
Browse files Browse the repository at this point in the history
  • Loading branch information
BrennaEpp committed Dec 23, 2021
1 parent a77efde commit 4910cd4
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 5 deletions.
8 changes: 4 additions & 4 deletions storage/bucket.go
Expand Up @@ -1524,10 +1524,10 @@ func (it *ObjectIterator) fetch(pageSize int, pageToken string) (string, error)
}
var resp *raw.Objects
var err error
err = runWithRetry(it.ctx, func() error {
err = run(it.ctx, func() error {
resp, err = req.Context(it.ctx).Do()
return err
})
}, it.bucket.retry, true)
if err != nil {
var e *googleapi.Error
if ok := xerrors.As(err, &e); ok && e.Code == http.StatusNotFound {
Expand Down Expand Up @@ -1608,10 +1608,10 @@ func (it *BucketIterator) fetch(pageSize int, pageToken string) (token string, e
req.MaxResults(int64(pageSize))
}
var resp *raw.Buckets
err = runWithRetry(it.ctx, func() error {
err = run(it.ctx, func() error {
resp, err = req.Context(it.ctx).Do()
return err
})
}, it.client.retry, true)
if err != nil {
return "", err
}
Expand Down
13 changes: 12 additions & 1 deletion storage/storage_test.go
Expand Up @@ -1150,7 +1150,8 @@ func TestRetryer(t *testing.T) {
}
for _, tc := range testCases {
t.Run(tc.name, func(s *testing.T) {
c, err := NewClient(context.Background())
ctx := context.Background()
c, err := NewClient(ctx)
if err != nil {
t.Fatalf("NewClient: %v", err)
}
Expand Down Expand Up @@ -1197,6 +1198,16 @@ func TestRetryer(t *testing.T) {
r: c.HMACKeyHandle("pID", "accessID").retry,
want: c.retry,
},
{
name: "client.Buckets()",
r: c.Buckets(ctx, "pID").client.retry,
want: c.retry,
},
{
name: "bucket.Objects()",
r: b.Objects(ctx, nil).bucket.retry,
want: b.retry,
},
}
for _, ac := range configHandleCases {
s.Run(ac.name, func(ss *testing.T) {
Expand Down

0 comments on commit 4910cd4

Please sign in to comment.