[tahoe-dev] some notes about regressions in 1.9.0 Re: planning a 1.9.1 release

Zooko O'Whielacronx zooko at zooko.com
Sat Dec 31 05:49:12 UTC 2011


Folks:

I'll say frankly -- I'm a bit disappointed in how many regressions we
shipped in Tahoe-LAFS v1.9.0 (see the Milestone below for a complete
list).

Now, I shouldn't be too hard on us -- none of the known problems are
the critical kind that could kill your data or expose your files, and
for a major new feature like MDMF (i.e. more scalable distributed
secure mutable files) these kind of problems are not unexpected.

Indeed, MDMF pushes forward the state of the art in secure distributed
storage, so it isn't like Kevan and Brian and the others who wrote it
were doing something easy!

And, we're probably still doing better than most software projects on
quality control. In particular, none of the issues that have been
reported are the slippery kind that are irreproducible or
inexplicable, and we're not doing any of the slipshod "try this patch
that we think might fix it" hacks that so many projects do. Instead,
we've got all the known bugs in our sights, and we will make sure we
understand why they occur, write reproducible unit tests that exercise
them, and kill them cleanly.

But still, we've had better quality releases than this in the past and
I hope we return to extra-high-quality-control in the future.

Now *how* to do that exactly, I'm not sure. Our automated testing
practices are already top-notch. Probably the biggest improvement we
could hope for would be more volunteers to review patches. Yes: this
means you! You don't have to be some kind of mega-security-expert to
help out with patch reviews. Please volunteer. :-)


Okay, here are some basic questions and answers for users. I saw these
questions on a private mailing list for a volunteergrid, and I'm
choosing to answer them in public on this list.

Q1. Is 1.9.0 so buggy that I should avoid it?

A1. I don't know -- it isn't *dangerous*. There are no known issues
that would risk data loss, corruption, or unauthorized exposure of
data under normal use. The architecture of Tahoe-LAFS makes it so that
even when we put bugs into the software, they usually don't threaten
those critical properties. For the complete list of known issues which
could be dangerous, see the Known Issues document [1].

The most troublesome issue that we've discovered so far in 1.9.0 is
that for some grids, writes or repairs of some mutable files or
directories spuriously fail. Those ones that fail tend to fail the
same way every time, so if you're the unlucky person who gets this
condition, you probably won't be able to update or repair that
particular mutable file or directory using v1.9.0. (Actually you could
probably work-around it by disconnecting some of the servers from your
grid, but hopefully nobody will need to go that far.)

Q2. If I used 1.9.0 and then I downgrade to an earlier version, will
there be any compatibility issues?

A2. Only if you explicitly created MDMF mutable files or directories,
and then the only compatibility problems are for those specific ones.

Previous Tahoe-LAFS releases can't read MDMF files, so if you're using
an older release like 1.8.3 and you try to download or view an MDMF
file you'll get an error message that says "Sorry, but I couldn't find
the object you requested".

MDMF is not the default file type in 1.9.0 so you would have had to
explicitly choose MDMF when creating a file or directory in order to
get one. Aside from not being able to read MDMF files, older versions
of Tahoe-LAFS interoperate perfectly well with 1.9.0 -- files of the
other types can be read and written, and there are no other
compatibility problems.

There is one exception: if you manually edited your
{{{~/.tahoe/private/aliases}}} configuration file like I did to
contain an MDMF cap then you'll have to remove the MDMF cap from that
configuration file before 1.8.3 will start (#1643).

You can read our intended policy in the release notes: [2]. It says:

    """
    COMPATIBILITY

    This release is compatible with the version 1 series of
Tahoe-LAFS. Clients from this release can write files and directories
in the format used by clients of all versions back to v1.0 (which was
released March 25, 2008). Clients from this release can read files and
directories produced by clients of all versions since v1.0. Servers
from this release can serve clients of all versions back to v1.0 and
clients from this release can use servers of all versions back to
v1.0.

    This is the fifteenth release in the version 1 series. This series
of Tahoe-LAFS will be actively supported and maintained for the
foreseeable future, and future versions of Tahoe-LAFS will retain the
ability to read and write files compatible with this series.
    """

Q3. How can I see when the v1.9.1 release will come out and what will be in it?

A3. https://tahoe-lafs.org/trac/tahoe-lafs/milestone/1.9.1

(Note: making accurate predictions is hard, especially about the future.)

Q4. Should I report any bugs that I find?

A4. Heck yes! We like bug reports because it helps us make future
releases better.
https://tahoe-lafs.org/trac/tahoe-lafs/wiki/HowToReportABug

Okay, folks. Thanks for using Tahoe-LAFS! Let us know how it works for you. :-)

Regards,

Zooko

[1] https://tahoe-lafs.org/trac/tahoe-lafs/browser/docs/known_issues.rst
[2] https://tahoe-lafs.org/trac/tahoe-lafs/browser/trunk/relnotes.txt?rev=5357

https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1643# presence of MDMF
in aliases break the CLI < v1.9.0


More information about the tahoe-dev mailing list