+101
−59
Loading
fix(s3s-fs): fix ListObjectsV2 response fields causing OpenDAL hang and improve implementation (#351) * Initial plan * Add test case to reproduce OpenDAL list hang issue Co-authored-by:Nugine <30099658+Nugine@users.noreply.github.com> * Fix ListObjectsV2 KeyCount, MaxKeys, and IsTruncated fields - KeyCount now includes both Contents and CommonPrefixes - MaxKeys uses input parameter or defaults to 1000 (AWS default) - IsTruncated is set to false (no pagination support) This fixes OpenDAL hanging when listing directories, as it was interpreting missing IsTruncated as needing to paginate. Co-authored-by:
Nugine <30099658+Nugine@users.noreply.github.com> * Add is_truncated to ListObjects v1 and format code Co-authored-by:
Nugine <30099658+Nugine@users.noreply.github.com> * Refactor list_objects_v2: extract helper, enforce max_keys, improve efficiency - Extract list_objects_recursive helper to reduce code duplication - Properly enforce max_keys limit on combined results - Correctly set is_truncated based on whether results were limited - Interleave Contents and CommonPrefixes in sorted order - More efficient filtering using retain() instead of iterator chains - Add test for max_keys enforcement Co-authored-by:
Nugine <30099658+Nugine@users.noreply.github.com> * clippy fix * style fix --------- Co-authored-by:
copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by:
Nugine <30099658+Nugine@users.noreply.github.com> Co-authored-by:
Nugine <nugine@foxmail.com>