it might already be the case but I still cannot read haskel and don't know how to simulate quickly. But I am following up on a statement from openneuro folks that they observed some exports failing due to 500 errors and thus needing to re-export. Since 500 could be very intermittent, I expect git-annex be resilient to them and sleep-a-little/retry at least for some reasonable amount of time.
If git-annex already does that, please pardon my noise and close this TODO.
It doesn't, but what it is supposed to do is resume a failed export efficiently. It remembers which files it has already exported, and should jump right to the one that failed. Necessarily starting from the beginning in uploading it because the API does not allow resuming at the byte it left off.
So I'd like to first check that works, because it seems more important that work well.
That said, seems like if annex.retry is configured, it should honor it. At first glance, this may be all that's needed:
(stdRetry might be ok too, just a question of whether forwardRetry would retry excessively in some cases. Now that I think about it, need to ?limit forwardRetry.)
What about the other side of export, import? Looks to me that does not retry either.