[tahoe-lafs-trac-stream] [tahoe-lafs] #1643: presence of MDMF in aliases break the CLI < v1.9.0

tahoe-lafs trac at tahoe-lafs.org
Sun Dec 18 13:29:16 UTC 2011


#1643: presence of MDMF in aliases break the CLI < v1.9.0
-------------------------+-------------------------------------------------
     Reporter:  zooko    |      Owner:
         Type:  defect   |     Status:  new
     Priority:  major    |  Milestone:  undecided
    Component:  code-    |    Version:  1.9.0
  mutable                |   Keywords:  versioning forward-compatibility
   Resolution:           |  backward-compatibility mutable mdmf aliases
Launchpad Bug:           |
-------------------------+-------------------------------------------------

Comment (by zooko):

 This is a bit disappointing because we did quite a lot of work attempting
 to make ''forward-compatibility'' for caps, i.e. that the introduction of
 new types of caps would not break old installations of the software. If
 your software looks in a Tahoe-LAFS directory and finds therein a cap of a
 new type that your software doesn't know how to decode it will handle that
 situation relatively gracefully. However, I guess we didn't think about
 the possibility of a new, unknown type being in your private local state
 ({{{~/.tahoe}}}). That's what happens when a user downgrades—switches to
 using an older version of the software.

 Looking at the code mentioned in the stack trace, it looks like all CLI
 commands parse all of the aliases
 [source:1.8.3/src/allmydata/scripts/common.py?annotate=blame&rev=4987#L84
 at startup] (even if the CLI command isn't going to use the aliases, as in
 my case of {{{tahoe mkdir}}})), by calling
 [source:1.8.3/src/allmydata/uri.py?annotate=blame&rev=4250#L690
 from_string_dirnode] on each one. {{{from_string_dirnode}}} calls
 {{{from_string}}} and then asserts that the result object is of a (known)
 directory cap type. If the CLI code had called
 [source:1.8.3/src/allmydata/uri.py?annotate=blame&rev=4250#L591
 from_string] instead of {{{from_string_dirnode}}} it would not have this
 problem.

-- 
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1643#comment:1>
tahoe-lafs <https://tahoe-lafs.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list