monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-devel] various faults in the 0.10 netsync implementation


From: graydon hoare
Subject: [Monotone-devel] various faults in the 0.10 netsync implementation
Date: Thu, 04 Mar 2004 12:51:06 -0500
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6b) Gecko/20031205 Thunderbird/0.4

hi,

christof petig has been kind enough to test netsync on "another" system (not one of mine) and has run into a variety of snags. I would like everyone to be aware of them, to avoid similar woes if testing netsync themselves. note that these only affect netsync.

  - after doing "monotone db migrate" to the 0.10 schema, on any
    existing database, you need to issue
    "monotone reindex net.venge.monotone" (or any other branch name)
    in order to recalculate the hash values of keys. those values are
    incorrectly calculated.

  - if you are on a machine which treats "char" as unsigned by default
    (eg. ppc) you will get checksum failures. this revealed a flaw in
    our pseudo-adler32 implementation, which (when fixed) changes
    checksum values on both ppc *and* x86.

  - if you try to pull from the netsync server running on off.net, you
    will run into problems since monotone does not correctly degrade
    to unidirectional sync, so it asks for data from the client, and the
    client also spontaneously sends data to the server (such as your
    public key, or any certs the server doesn't currently have)

  - if you try to update, the new hook definitions are too conservative
    about xxdiff's return values, so will not merge properly.

these faults have all been fixed "upstream" in my development version, but obviously you'll need to use the non-netsync (depot) mechanisms to get them. netsync is still experimental and this is the "shaking out" phase of its life, so I'm hoping there won't be too many more such upsets.

(christof: this also includes you; the adler32 change I settled on is
 not the one you suggested, so you will probably get broken checksums
 until you fetch again)

-graydon




reply via email to

[Prev in Thread] Current Thread [Next in Thread]