diff options
| author | chrislu <chris.lu@gmail.com> | 2025-07-21 09:36:26 -0700 |
|---|---|---|
| committer | chrislu <chris.lu@gmail.com> | 2025-07-21 09:36:26 -0700 |
| commit | 07619950a19241f4bd51c4cf7dacfc84bfccf74e (patch) | |
| tree | 01b868c77036339ab01e42362376778bdc10fa67 | |
| parent | 77ee3081d20a2ed53d46ee086f665457a782dec0 (diff) | |
| download | seaweedfs-07619950a19241f4bd51c4cf7dacfc84bfccf74e.tar.xz seaweedfs-07619950a19241f4bd51c4cf7dacfc84bfccf74e.zip | |
fix tests
| -rw-r--r-- | weed/s3api/s3api_object_handlers_list.go | 21 |
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 } |
