Russ Allbery writes ("Bug#943374: dgit push-source fails and loses a package 
version number without retries"):
> Package: dgit
> Version: 9.9
> Severity: normal
> 
> This was unpleasant:

How annoying.

> The network from which I was trying to do dgit push-source had 20% packet
> loss.  If the DNS query had been retried, it probably would have worked.

The DNS resolver library used by ssh *does* retry.  See resolv.conf(5)
`attempts:'.  But it defaults to 2 which seems far too little!

> In general, this bug is to request that all dgit commands that may fail
> transiently after dgit has committed to consuming a version number be
> wrapped in something that will prompt whether I want to abort or retry the
> command if the command fails.

This is not so easy; not all of the commands are idempotent (because
of the underlying protocols).  Also dgit does some things itself with
(eg) a built-in http client.  I will consider your suggestion but if I
do this it will probably be a long-term thing.

It might also be possible to try to do the generation of signed
artefacts in a single batch, and provide a way to retry the delivery
of the objects to remote places.  That would also make it more
convenient to work around a dput failure.

Ian.

Reply via email to