Skip to content

Commit

Permalink
fix: oss list bucket return all records (argoproj#12084)
Browse files Browse the repository at this point in the history
Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>
  • Loading branch information
shuangkun authored and dpadhiar committed May 9, 2024
1 parent baabbe1 commit c2bcbca
Showing 1 changed file with 17 additions and 6 deletions.
23 changes: 17 additions & 6 deletions workflow/artifacts/oss/oss.go
Original file line number Diff line number Diff line change
Expand Up @@ -179,12 +179,23 @@ func (ossDriver *ArtifactDriver) ListObjects(artifact *wfv1.Artifact) ([]string,
if err != nil {
return !isTransientOSSErr(err), err
}
results, err := bucket.ListObjectsV2(oss.Prefix(artifact.OSS.Key))
if err != nil {
return !isTransientOSSErr(err), err
}
for _, object := range results.Objects {
files = append(files, object.Key)
pre := oss.Prefix(artifact.OSS.Key)
continueToken := ""
for {
results, err := bucket.ListObjectsV2(pre, oss.ContinuationToken(continueToken))
if err != nil {
return !isTransientOSSErr(err), err
}
// Add to files. By default, 100 records are returned at a time. https://help.aliyun.com/zh/oss/user-guide/list-objects-18
for _, object := range results.Objects {
files = append(files, object.Key)
}
if results.IsTruncated {
continueToken = results.NextContinuationToken
pre = oss.Prefix(results.Prefix)
} else {
break
}
}
return true, nil
})
Expand Down

0 comments on commit c2bcbca

Please sign in to comment.