[MERGE] Ensure failed operations leave remote transport in clean state

Vincent Ladeuil v.ladeuil+lp at free.fr
Tue Sep 4 08:00:47 BST 2007


>>>>> "Andrew" == Andrew Bennetts <andrew at canonical.com> writes:

<snip/>


    Andrew> For instance it would be unnecessarily complex to
    Andrew> test what happens during disconnection during reading
    Andrew> a response body over HTTP via the transport API
    Andrew> vs. directly testing the logic in the
    Andrew> medium/protocol.

Since you mentioned 'reading a response body over HTTP via the
transport API', I take the opportunity to mention that we have a
bug here, at least in the urllib implementation.

Connection errors (such as Connection reset by peer) are *not*
handled during the response body read as they are during the the
rest of the request where the request is repeated one time if a
transient failure occurs*.

Someone reports such a behavior a few days ago.

It's one more occurrence pointing a defect in our test suite: we
need test servers where we can raise errors at any time. I have
merely scratch the surface of the problem for http, there is far
more to be done.

     Vincent

*: and more will have to be done when we will "stream" http.



More information about the bazaar mailing list