Temporary errors in transport layers (was Re: [Bug 28850] FTP transport: put: fails during push operation)
Robert Collins
robertc at robertcollins.net
Sun Jan 22 21:45:48 GMT 2006
On Thu, 2006-01-19 at 06:18 +0100, Matthieu Moy wrote:
> I actually think this kind of errors should be managed by the
> transport layer itself: the transport layer should declare a temporary
> exception that transport implemetations could raise. When transport
> catches this exception, it tries to reopen the connection. Probably a
> counter should be added here, and a non-temporary exception should be
> raised after, say, 2 retries.
>
> In the case of my ftp error, the ftp transport layer should just catch
> the exception in the ftp library, and raise the temporary exception
> declared in the transport layer.
I agree that internal transient errors like this should not in general
be exposed to the clients. However if there is risk of continual looping
or of not honouring any atomicity constraints, it should be raised to
the client.
For instance, reading a single file - if that is interrupted when the
file is only partly downloaded, reconnecting and using REST in FTP *may
not return the same file*. So that error must be raised to the client of
the transport.
Rob
--
GPG key available at: <http://www.robertcollins.net/keys.txt>.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20060123/9522a759/attachment.pgp
More information about the bazaar
mailing list