-
Notifications
You must be signed in to change notification settings - Fork 541
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
mc ls fails on DigitalOcean Spaces with "Unable to list folder. Truncated response should have continuation token set" #3067
Comments
Do you have a sample list of files where this issue happens? @genevera |
@genevera this looks like more a digital ocean bug, because mc really needs the continuation token to continue listing |
Yes it looks like a server implementation bug @genevera |
Older versions of mc list with no problem. The last version of mc to be able to list this bucket in its entirety was for v in $(git tag|rg '2019|2020'|tac); do
echo "${v}:\n";
sleep 1;
git checkout "${v}" --force; # to avoid git refusing to check out a branch due to new files
make clean;
GOOS=darwin GOOARCH=amd64 make build;
./mc ls ds/genevera/big-bucket &> /dev/null;
if [[ "${?}" == 0 ]]; then
echo "${v} works.";
break;
else
continue;
fi;
done; My spaces bucket contains around 130000 items. |
I do! 18:31:39 in mc on tags/RELEASE.2019-10-02T19-41-02Z took 6s
➜ ./mc ls ds/genevera/record
[2019-01-04 22:46:52 EST] 0B /genevera/record%2F
[2019-03-15 06:35:04 EDT] 7.4MiB /genevera/record%2F20180816-234631.mp3
[2019-03-15 06:35:04 EDT] 7.4MiB /genevera/record%2F20180817-204901.mp3
[2019-03-15 06:35:03 EDT] 7.4MiB /genevera/record%2F20180817-211903.mp3
[2019-03-15 06:35:03 EDT] 7.4MiB /genevera/record%2F20180817-214907.mp3
[2019-03-15 06:35:06 EDT] 7.4MiB /genevera/record%2F20180817-221910.mp3
[2019-03-15 06:35:06 EDT] 7.4MiB /genevera/record%2F20180818-024937.mp3
[2019-03-15 06:35:07 EDT] 7.4MiB /genevera/record%2F20180818-065010.mp3
[2019-03-15 06:35:07 EDT] 7.4MiB /genevera/record%2F20180819-000157.mp3
[2019-03-15 06:35:08 EDT] 7.4MiB /genevera/record%2F20180819-001158.mp3
[2019-03-15 06:35:09 EDT] 7.4MiB /genevera/record%2F20180819-002159.mp3
[2019-03-15 06:35:10 EDT] 7.4MiB /genevera/record%2F20180819-003200.mp3
[2019-03-15 06:35:10 EDT] 7.4MiB /genevera/record%2F20180819-004200.mp3
[2019-03-15 06:35:11 EDT] 7.4MiB /genevera/record%2F20180819-005200.mp3
[2019-03-15 06:35:12 EDT] 7.3MiB /genevera/record%2F20180819-010201.mp3
[2019-03-15 06:35:14 EDT] 7.3MiB /genevera/record%2F20180819-011201.mp3
[2019-03-15 06:35:13 EDT] 7.3MiB /genevera/record%2F20180819-012202.mp3
[2019-03-15 06:35:14 EDT] 7.3MiB /genevera/record%2F20180819-013205.mp3
[2019-03-15 06:35:15 EDT] 7.3MiB /genevera/record%2F20180819-014205.mp3
[2019-03-15 06:35:16 EDT] 7.3MiB /genevera/record%2F20180819-015206.mp3
[2019-03-15 06:35:17 EDT] 7.3MiB /genevera/record%2F20180819-020208.mp3
[2019-03-15 06:35:17 EDT] 7.3MiB /genevera/record%2F20180819-021208.mp3
[2019-03-15 06:35:18 EDT] 7.3MiB /genevera/record%2F20180819-022209.mp3
[2019-03-15 06:35:18 EDT] 7.3MiB /genevera/record%2F20180819-023211.mp3
[2019-03-15 06:35:19 EDT] 7.3MiB /genevera/record%2F20180819-024215.mp3
[2019-03-15 06:35:20 EDT] 7.3MiB /genevera/record%2F20180819-025216.mp3
[2019-03-15 06:35:21 EDT] 7.3MiB /genevera/record%2F20180819-030217.mp3
[2019-03-15 06:35:21 EDT] 7.3MiB /genevera/record%2F20180819-031217.mp3
[2019-03-15 06:35:22 EDT] 7.3MiB /genevera/record%2F20180819-032217.mp3
[2019-03-15 06:35:22 EDT] 7.3MiB /genevera/record%2F20180819-033217.mp3
[2019-03-15 06:35:24 EDT] 7.3MiB /genevera/record%2F20180819-034220.mp3
[2019-03-15 06:35:24 EDT] 7.3MiB /genevera/record%2F20180819-035221.mp3
[2019-03-15 06:35:25 EDT] 7.3MiB /genevera/record%2F20180819-040221.mp3
[2019-03-15 06:35:26 EDT] 7.3MiB /genevera/record%2F20180819-041222.mp3
[2019-03-15 06:35:28 EDT] 7.3MiB /genevera/record%2F20180819-042227.mp3
[2019-03-15 06:35:29 EDT] 7.3MiB /genevera/record%2F20180819-043227.mp3
[2019-03-15 06:35:30 EDT] 7.3MiB /genevera/record%2F20180819-044228.mp3
[2019-03-15 06:35:30 EDT] 7.3MiB /genevera/record%2F20180819-045228.mp3
[2019-03-15 06:35:31 EDT] 7.3MiB /genevera/record%2F20180819-050230.mp3
[2019-03-15 06:35:31 EDT] 7.3MiB /genevera/record%2F20180819-051231.mp3
[2019-03-15 06:35:33 EDT] 7.3MiB /genevera/record%2F20180819-052233.mp3
[2019-03-15 06:35:33 EDT] 7.3MiB /genevera/record%2F20180819-053233.mp3
[2019-03-15 06:35:34 EDT] 7.3MiB /genevera/record%2F20180819-054233.mp3
[2019-03-15 06:35:34 EDT] 7.3MiB /genevera/record%2F20180819-055235.mp3
[2019-03-15 06:35:35 EDT] 7.3MiB /genevera/record%2F20180819-060236.mp3
[2019-03-15 06:35:35 EDT] 7.3MiB /genevera/record%2F20180819-061237.mp3
[2019-03-15 06:35:38 EDT] 7.3MiB /genevera/record%2F20180819-062238.mp3
[2019-03-15 06:35:37 EDT] 7.3MiB /genevera/record%2F20180819-063241.mp3
[2019-03-15 06:35:38 EDT] 7.3MiB /genevera/record%2F20180819-064241.mp3
[2019-03-15 06:35:38 EDT] 7.3MiB /genevera/record%2F20180819-065241.mp3
[2019-03-15 06:35:40 EDT] 7.3MiB /genevera/record%2F20180819-070244.mp3
[2019-03-15 06:35:40 EDT] 7.3MiB /genevera/record%2F20180819-071245.mp3
[2019-03-15 06:35:41 EDT] 7.4MiB /genevera/record%2F20180819-072246.mp3
[2019-03-15 06:36:07 EDT] 7.3MiB /genevera/record%2F20180819-073246.mp3
[2019-03-15 06:35:42 EDT] 7.3MiB /genevera/record%2F20180819-074247.mp3
[2019-03-15 06:35:43 EDT] 7.3MiB /genevera/record%2F20180819-075248.mp3
[2019-03-15 06:35:45 EDT] 7.4MiB /genevera/record%2F20180819-080249.mp3
[2019-03-15 06:35:45 EDT] 7.4MiB /genevera/record%2F20180819-081249.mp3
[2019-03-15 06:35:45 EDT] 7.4MiB /genevera/record%2F20180819-082252.mp3
[2019-03-15 06:35:48 EDT] 7.4MiB /genevera/record%2F20180819-083254.mp3
[2019-03-15 06:35:49 EDT] 7.4MiB /genevera/record%2F20180819-084255.mp3
[2019-03-15 06:35:48 EDT] 7.4MiB /genevera/record%2F20180819-085255.mp3
[2019-03-15 06:35:50 EDT] 7.4MiB /genevera/record%2F20180819-090256.mp3
[2019-03-15 06:35:51 EDT] 7.4MiB /genevera/record%2F20180819-091257.mp3
[2019-03-15 06:36:07 EDT] 7.4MiB /genevera/record%2F20180819-092258.mp3
[2019-03-15 06:35:53 EDT] 7.4MiB /genevera/record%2F20180819-093258.mp3
[2019-03-15 06:35:53 EDT] 7.4MiB /genevera/record%2F20180819-094259.mp3
[2019-03-15 06:35:56 EDT] 7.3MiB /genevera/record%2F20180819-095302.mp3
[2019-03-15 06:35:56 EDT] 7.4MiB /genevera/record%2F20180819-100303.mp3
[2019-03-15 06:35:59 EDT] 7.3MiB /genevera/record%2F20180819-101304.mp3
[2019-03-15 06:36:02 EDT] 7.3MiB /genevera/record%2F20180819-102304.mp3
[2019-03-15 06:36:04 EDT] 7.3MiB /genevera/record%2F20180819-103305.mp3
[2019-03-15 06:36:05 EDT] 7.4MiB /genevera/record%2F20180819-104307.mp3
[2019-03-15 06:36:07 EDT] 7.4MiB /genevera/record%2F20180819-105309.mp3
[2019-03-15 06:36:08 EDT] 7.4MiB /genevera/record%2F20180819-110311.mp3
[2019-03-15 06:36:10 EDT] 7.4MiB /genevera/record%2F20180819-111315.mp3
[2019-03-15 06:36:10 EDT] 7.3MiB /genevera/record%2F20180819-112315.mp3
[2019-03-15 06:36:10 EDT] 7.3MiB /genevera/record%2F20180819-113316.mp3
[2019-03-15 06:36:12 EDT] 7.4MiB /genevera/record%2F20180819-114317.mp3
[2019-03-15 06:36:13 EDT] 7.3MiB /genevera/record%2F20180819-115317.mp3
[2019-03-15 06:36:13 EDT] 7.3MiB /genevera/record%2F20180819-120317.mp3
[2019-03-15 06:36:14 EDT] 7.3MiB /genevera/record%2F20180819-121319.mp3
[2019-03-15 06:36:14 EDT] 7.3MiB /genevera/record%2F20180819-122320.mp3
[2019-03-15 06:36:15 EDT] 7.3MiB /genevera/record%2F20180819-123320.mp3 (this is a snippet of output from the last working version; it lists all files) |
ping @harshavardhana @vadmeste |
The issue here is very clear, there is a bug in the server side implementation with encoding-type=url requested during listing. Server clearly is setting wrong things with ListObjectsV2 implementation. ListObjectsV2 implementation mandates that if the response has IsTruncated set then NextContinuationToken should be set as well. So minio-go is failing for the right reason, server is sending an incorrect response. |
Could there not be implemented a fallback to V1 upon receiving a response that doesn't match up with expectations for a V2 call? |
Such types of hacks would be complicated @genevera there are added performance implications to such implementation and other technical complications such as - Listing is a batched operation so we cannot suddenly make listObjectsV1 calls in the middle of an ongoing listObjectsV2 by using the failed state from listObjectsV2 call. There will be unexpected results as V1 and V2 vary. The best approach is to fix the server here rather than burdening our software |
You can simply use the older version of |
Okey dokey - thanks for taking the time to respond on this ticket! |
@genevera ceph ver: |
This is not an We can list millions of objects regularly on AWS S3 without any issues. |
@harshavardhana |
That is because |
It works perfectly. Thanks ! |
@ureykane thank you!! |
Expected behavior
mc ls
lists a prefix containing many files and exits 0.Actual behavior
Failure with the error: "Unable to list folder. Truncated response should have continuation token set"
Steps to reproduce the behavior
mc ls digitaloceanspacesbucket/username/prefix-with-lots-of-files
mc --version
mc --version
)mc version RELEASE.2020-01-25T03-02-19Z
System information
darwin/amd64
example debug output:
The text was updated successfully, but these errors were encountered: