On Mon, 18 Apr 2011 12:55:37 -0000, Paul Sokolovsky <email address hidden> wrote:
> Well, I guess we for sure should log such errors to mirror service logs,
> to see what kind of errors and how often we get. Btw, even from local
> runs it's clear that android.git.kernel.org is pretty overloaded and
> from time to time times out or resets connection.
Yes. This seems to get better and worse on a week-to-week sort of
timescale. It's been OK for the last month or so :)
> Moreover, I saw cases when git did report errors, but repo stills
> finished with 0 exit code.
Well, this is just another reason not to run repo on the server I guess.
> Other question is if we should report such failures to XMLRPC caller. If
> we do, then build will fail (non-deterministic failure).
I think a mirror fail should fail the build -- if we weren't mirroring,
and the remote server barfed, the build would fail.
> On the other hand, if we don't, we may have a build from a stale
> codebase which is of course worse. Compromise might to have
> auto-retrying for repo sync failures, say, 3 times, and then return a
> failure. This way we'll minimize non-deterministic failures but won't
> have spurious false positives due to stale codebase.
I think we should do the simple thing and fail the build to start with,
and see if something more determined turns out to be needed.
On Mon, 18 Apr 2011 12:55:37 -0000, Paul Sokolovsky <email address hidden> wrote: git.kernel. org is pretty overloaded and
> Well, I guess we for sure should log such errors to mirror service logs,
> to see what kind of errors and how often we get. Btw, even from local
> runs it's clear that android.
> from time to time times out or resets connection.
Yes. This seems to get better and worse on a week-to-week sort of
timescale. It's been OK for the last month or so :)
> Moreover, I saw cases when git did report errors, but repo stills
> finished with 0 exit code.
Well, this is just another reason not to run repo on the server I guess.
> Other question is if we should report such failures to XMLRPC caller. If
> we do, then build will fail (non-deterministic failure).
I think a mirror fail should fail the build -- if we weren't mirroring,
and the remote server barfed, the build would fail.
> On the other hand, if we don't, we may have a build from a stale
> codebase which is of course worse. Compromise might to have
> auto-retrying for repo sync failures, say, 3 times, and then return a
> failure. This way we'll minimize non-deterministic failures but won't
> have spurious false positives due to stale codebase.
I think we should do the simple thing and fail the build to start with,
and see if something more determined turns out to be needed.
Cheers,
mwh