-
-
Notifications
You must be signed in to change notification settings - Fork 909
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
Catch get_bucket_location IOError in send_file #502
Conversation
I frequently see a broken pipe, which I tracked down to get_bucket_location. This seems to happen on big syncs, where there are lots of files to compare - maybe the connection is being dropped? Borrowing the retry code from the try block below, this simply retries the same send_file, which appears to solve the problem.
this isn't quite right, but if you can frequently get a broken pipe message, please try with https://github.com/mdomsch/s3cmd/tree/bug/epipe-2 branch and see if that addresses it correctly. The retry logic needs to be done at a lower level than where you put it in your patch. |
@mdomsch Thank you, I'll try that out and report back tomorrow. |
I didn't update to that branch the other day - my patch did appear to address the issue that I was seeing. I'm now running with bug/epipe-2 from your repo (which appeared to be simply master?) and will report back as previously promised. |
@mdomsch Running with the bug/epipe-2 branch, I received the following error overnight. This appears to be an IOError in the get_bucket_location. Am I definitely using the right branch for testing?
|
Please pull the bug/epipe-2 branch again and retry. I added more cases of On Sat, Mar 21, 2015 at 2:31 PM, Karl von Randow notifications@github.com
|
Thanks @mdomsch, I've installed it and I'll let you know the results! |
bug/epipe-2 merged to master now. Please report any additional failures that result. Possibly one in the CloudFront path but as that needs a lot of work in general, I didn't touch it for now. |
I frequently see a broken pipe, which I tracked down to get_bucket_location. This seems to happen on big syncs, where there are lots of files to compare - maybe the connection is being dropped?
Borrowing the retry code from the try block below, this simply retries the same send_file, which appears to solve the problem.
(Confession: this is the first Python I've edited / written so all feedback received gladly and I'll happily tidy up / modify, hand-over or rewrite this)