Make GetComponents robust to transient network errors

Issue #84 wontfix
Ian Hinder created an issue

I am running automated nightly checkouts using GetComponents, and every so often the checkout will fail with an error such as

Checking out module: CactusArchive/ADM from repository: http://svn.cactuscode.org/arrangements/CactusArchive/ADM/trunk into: ./arrangements svn: REPORT of '/arrangements/CactusArchive/ADM/!svn/vcc/default': Could not read response body: connection was closed by server. (http://svn.cactuscode.org)

These errors are transient and go away if you retry. Would it be possible to add some logic into GetComponents to make a note of those thorns which failed to check out due to such errors and to try them again at the end of the checkout? An immediate retry might run into the same problem again.

Keyword:

Comments (2)

  1. Eric Seidel
    • changed status to open
    • removed comment

    Do you know if all errors of the form "svn: REPORT" are recoverable? I assume there are multiple such errors, and it would be nice if there were a general regex that would recognize all of them. On the other hand, I could just retry all errors at the end of the checkout, but that would probably be pointless if all, or the majority of components failed checkout.

  2. Roland Haas
    • edited description
    • changed status to wontfix

    This used to be caused by overwhelming the LSU svn servers. The ET no longer uses svn for checkout. Adding a retry functionality to GetComponents for this case seems to be adding more complexity that it it worth. For automated downloads GetComponents itself could be called in a loop if desired.

  3. Log in to comment