aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2025-07-21 09:36:26 -0700
committerchrislu <chris.lu@gmail.com>2025-07-21 09:36:26 -0700
commit07619950a19241f4bd51c4cf7dacfc84bfccf74e (patch)
tree01b868c77036339ab01e42362376778bdc10fa67
parent77ee3081d20a2ed53d46ee086f665457a782dec0 (diff)
downloadseaweedfs-07619950a19241f4bd51c4cf7dacfc84bfccf74e.tar.xz
seaweedfs-07619950a19241f4bd51c4cf7dacfc84bfccf74e.zip
fix tests
-rw-r--r--weed/s3api/s3api_object_handlers_list.go21
1 files changed, 6 insertions, 15 deletions
diff --git a/weed/s3api/s3api_object_handlers_list.go b/weed/s3api/s3api_object_handlers_list.go
index 0e9e58c40..a96a6fe10 100644
--- a/weed/s3api/s3api_object_handlers_list.go
+++ b/weed/s3api/s3api_object_handlers_list.go
@@ -150,10 +150,11 @@ func (s3a *S3ApiServer) listFilerEntries(bucket string, originalPrefix string, m
// check filer
err = s3a.WithFilerClient(false, func(client filer_pb.SeaweedFilerClient) error {
+ var lastEntryWasCommonPrefix bool
+ var lastCommonPrefixName string
+
for {
empty := true
- var lastEntryWasCommonPrefix bool
- var lastCommonPrefixName string
nextMarker, doErr = s3a.doListFilerEntries(client, reqDir, prefix, cursor, marker, delimiter, false, func(dir string, entry *filer_pb.Entry) {
empty = false
@@ -338,6 +339,7 @@ func (s3a *S3ApiServer) doListFilerEntries(client filer_pb.SeaweedFilerClient, d
return
}
if cursor.maxKeys <= 0 {
+ cursor.isTruncated = true
return
}
@@ -391,18 +393,8 @@ func (s3a *S3ApiServer) doListFilerEntries(client filer_pb.SeaweedFilerClient, d
}
}
if cursor.maxKeys <= 0 {
- // Check if there are more entries available by trying to peek at the next one
- _, nextRecvErr := stream.Recv()
- if nextRecvErr == nil {
- // There is another entry available, so we're truncated
- cursor.isTruncated = true
- } else if nextRecvErr != io.EOF {
- // Some other error occurred
- err = fmt.Errorf("peeking next entry: %v", nextRecvErr)
- return
- }
- // If nextRecvErr == io.EOF, there are no more entries, so isTruncated remains false
- break
+ cursor.isTruncated = true
+ continue
}
entry := resp.Entry
nextMarker = entry.Name
@@ -472,7 +464,6 @@ func (s3a *S3ApiServer) doListFilerEntries(client filer_pb.SeaweedFilerClient, d
// Create logical entries for objects that have .versions directories
for _, versionsDir := range versionsDirs {
if cursor.maxKeys <= 0 {
- // We have versioned objects remaining but can't process them due to limit
cursor.isTruncated = true
break
}