Comment 7 for bug 365160

Revision history for this message
John A Meinel (jameinel) wrote : Re: ftp lib error: too many connections

1) Why is the FTP service configured to allow a single connection per IP address? This at least seems overly restrictive.

2) In the code path in question, we have:
except ftplib.error_temp, e:
    if retries > _number_of_retries:
        raise errors.TransportError(msg="FTP temporary error during GET %s. Aborting."
                             % self.abspath(relpath),
                             orig_error=e)
    else:
        warning("FTP temporary error: %s. Retrying.", str(e))
        self._reconnect()
        return self.get(relpath, decode, retries+1)

There should be a message in .bzr.log which indicates what error we are getting.It might be that the server is giving us a "error_temp" error when really it should be giving a "permanent" error. (Like perhaps a file doesn't exist, but for some reason it is considering that a temporary error and not a permanent one.)

I don't think I've seen you declare what FTP server is being used.

I also haven't seen any comment about whether aftp:// has any effect (use active ftp rather than passive ftp.)

I'm not entirely sure why we reconnect for a temporary error. It might also be possible that we need to more actively *disconnect* as part of the 'reconnect()' code.