S3Sync.net

General Category => Report Bugs => Topic started by: wkonkel on June 02, 2008, 03:35:12 PM



Title: unrescued exception
Post by: wkonkel on June 02, 2008, 03:35:12 PM
/usr/lib/ruby/1.8/net/http.rb:586:in `connect': Connection reset by peer (Errno::ECONNRESET)
   from /usr/lib/ruby/1.8/net/http.rb:586:in `connect'
   from /usr/lib/ruby/1.8/net/http.rb:553:in `do_start'
   from /usr/lib/ruby/1.8/net/http.rb:548:in `start'
   from /root/s3sync/S3_s3sync_mod.rb:55:in `make_http'
   from /root/s3sync/s3try.rb:62:in `S3tryConnect'
   from /root/s3sync/s3try.rb:69:in `S3try'
   from /root/s3sync/s3sync.rb:285:in `s3TreeRecurse'
   from /root/s3sync/s3sync.rb:346:in `main'
   from /root/s3sync/thread_generator.rb:79:in `call'
   from /root/s3sync/thread_generator.rb:79:in `initialize'
   from /root/s3sync/thread_generator.rb:76:in `new'
   from /root/s3sync/thread_generator.rb:76:in `initialize'
   from /root/s3sync/s3sync.rb:267:in `new'
   from /root/s3sync/s3sync.rb:267:in `main'
   from /root/s3sync/s3sync.rb:735


Title: Re: unrescued exception
Post by: jameso on June 09, 2008, 11:14:11 PM
We've been using s3sync for months now - it's a great script. Thanks for the hard work.

I have seen this error occur a few times recently as well. I am using v1.2.4, executing the following command:

Code:
s3sync.rb -v --ssl  -r /backups/daily server-backups:

A sample error message:

Code:
/usr/lib/ruby/1.8/net/http.rb:586:in `connect': Connection reset by peer (Errno::ECONNRESET)
       from /usr/lib/ruby/1.8/net/http.rb:586:in `connect'
       from /usr/lib/ruby/1.8/net/http.rb:553:in `do_start'
       from /usr/lib/ruby/1.8/net/http.rb:548:in `start'
       from /home/bin/s3sync/S3_s3sync_mod.rb:55:in `make_http'
       from /home/bin/s3sync/s3try.rb:62:in `S3tryConnect'
       from /home/bin/s3sync/s3try.rb:69:in `S3try'
       from /home/bin/s3sync/s3sync.rb:284:in `s3TreeRecurse'
       from /home/bin/s3sync/s3sync.rb:345:in `main'
       from /home/bin/s3sync/thread_generator.rb:79:in `call'
       from /home/bin/s3sync/thread_generator.rb:79:in `initialize'
       from /home/bin/s3sync/thread_generator.rb:76:in `new'
       from /home/bin/s3sync/thread_generator.rb:76:in `initialize'
       from /home/bin/s3sync/s3sync.rb:266:in `new'
       from /home/bin/s3sync/s3sync.rb:266:in `main'
       from /home/bin/s3sync/s3sync.rb:724

Sync Complete.

I've just upgraded to v1.2.5 but as far as I can tell this new version includes the no md5 option with no other fixes.

I found this thread: http://developer.amazonwebservices.com/connect/thread.jspa?threadID=11975#45396, where greg says:
Quote
The first one seems self-explanatory.  I'm not catching connection resets.

Greg, would it be possible to implement a fix so if this error occurs, the sync script attempts to retry (as it does when it encounters 500 Internal Server errors)?

Thanks.


Title: Re: unrescued exception
Post by: ferrix on June 16, 2008, 02:34:30 PM
Good catch. 

Version 1.2.6
Catch connect errors and retry.


Title: Re: unrescued exception
Post by: jameso on June 16, 2008, 07:24:02 PM
Thanks Ferrix,

I've upgraded to 1.2.6 and it seems to work fine, although I've been unable to replicate the "Connection reset by peer" error, so it's hard to verify that your fix solves the problem. For now I'll assume it works.