diff options
Diffstat (limited to 'doc/bugs/s3_special_remote_does_not_resume_uploads_even_with_new_chunking/comment_4_bd631d470ee0365a11483c9a2e563b32._comment')
-rw-r--r-- | doc/bugs/s3_special_remote_does_not_resume_uploads_even_with_new_chunking/comment_4_bd631d470ee0365a11483c9a2e563b32._comment | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/doc/bugs/s3_special_remote_does_not_resume_uploads_even_with_new_chunking/comment_4_bd631d470ee0365a11483c9a2e563b32._comment b/doc/bugs/s3_special_remote_does_not_resume_uploads_even_with_new_chunking/comment_4_bd631d470ee0365a11483c9a2e563b32._comment new file mode 100644 index 000000000..ecac7917c --- /dev/null +++ b/doc/bugs/s3_special_remote_does_not_resume_uploads_even_with_new_chunking/comment_4_bd631d470ee0365a11483c9a2e563b32._comment @@ -0,0 +1,30 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 4""" + date="2015-07-16T17:57:44Z" + content=""" +This should have been filed as a bug report... I will move the thread to +bugs after posting this comment. + +In your obfuscated log, it tries to HEAD GPGHMACSHA1--1111111111 +and when that fails, it PUTs GPGHMACSHA1--2222222222. From this, we can +deduce that GPGHMACSHA1--1111111111 is not the first chunk, but is the full +non-chunked file, and GPGHMACSHA1--2222222222 is actually the first chunk. + +For testing, I modifed the S3 remote to make file uploads succeed, but then +report to git-annex that they failed. So, git annex copy uploads the 1st +chunk and then fails, same as it was interrupted there. Repeating the copy, +I see the same thing; it HEADs the full key, does not HEAD the first chunk, +and so doesn't notice it was uploaded before, and so re-uploads the first +chunk. + +The HEAD of the full key is just done for backwards compatability reasons. +The problem is that it's not checking if the current chunk it's gonna +upload is present in the remote. But, there is code in seekResume that +is supposed to do that very check: `tryNonAsync (checker k)` + +Aha, the problem seems to be in the checkpresent action that's passed to +that. Looks like it's passing in a dummy checkpresent action. + +I've fixed this in git, and now it resumes properly in my test case. +"""]] |