Might hanging bugs remain in rsync 3.0.0?
hashproduct+rsync at gmail.com
Mon Jul 16 12:55:43 GMT 2007
On 7/16/07, Wayne Davison <wayned at samba.org> wrote:
> On Sun, Jul 15, 2007 at 11:09:57PM -0400, Matt McCutchen wrote:
> > Furthermore, from April 27 to July 10, about 2.5 months passed without
> > any hanging bugs being found; then, on July 11, Warren Oates reported
> > one.
> That was a brand new one that I introduced into the code when I tweaked
> the index numbering in incremental mode and failed to update a second
> section of code that interpreted the index values. The hang bug cropped
> up right away in both my testing and in the testing of at least one
> other person, and was quickly fixed.
OK, I didn't realize that.
> > This makes me worry that [...] it may nevertheless have a hanging bug
> > that will be found after it is released and create a serious problem
> > for some users.
> Such a thing is possible, but I don't think it is going to be any more
> likely than a hang bug happening in prior versions.
It seems to me that the incremental recursion is a much more dramatic
change to rsync than anything else I've seen while I've been working
with rsync and has the potential to introduce lots of obscure bugs.
They may still all be found, but at least there are more potential
bugs than in previous versions.
> And the user will
> always have the option of specifying --no-ir if they need to.
I don't like this logic; rsync should work by default. Instead of
making users scratch their heads when something goes wrong, I think it
would be prudent to make --no-ir the default in rsync 3.0.0. (I'm
afraid that if you don't, some distributions might.) Users who care
about the improved performance and are aware of the possible
consequence of instability could still pass --ir. Other users would
enjoy the numerous other enhancements in rsync 3.0.0 without the
chance of a bug in incremental recursion stopping the show. Once
incremental recursion has gone through a release or two without any
problems, I would make it the default.
More information about the rsync