Bug 1644 - stresstest over the wire with dispatch leads to corrupted repository (edit)
:
:
Status: RESOLVED WONTFIX
:
:
:
Assigned To:
Bugzilla (edit) (take)

(edit)
:
Depends on: (edit)
Blocks: (edit)
  Show dependency treegraph
 
Reported: 2009-05-01 01:47 EDT by Arne Babenhauserheide
Modified: 2012-05-13 05:04 EDT (History)
1 user (show)

(add)



Attachments
(33 bytes, application/x-tar)
2009-05-01 01:47 EDT, Arne Babenhauserheide
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Arne Babenhauserheide 2009-05-01 01:47:28 EDT
The heavy test done with the distributed_hg_burner lead to a corrupted
repository. 

The repository was served via "hg serve" and many clients pulled, merged,
pushed and committed via mercurial.dispatch.dispatch(["command"]). The
corruption occured in reiserfs as well as in tmpfs. 

To test it yourself, you can run the test script locally: 

Set up an empty repo and share it with "hg serve -p 6666". 

$ hg clone http://bitbucket.org/ArneBab/distributed_hg_burner/
$ cd distributed_hg_burner
# for as many clients as you want to use, run (CLIENT = some id of the client)
$ python burn.py --url "http://127.0.0.1:6666" --target-dir "/tmp/repo-CLIENT"

And do put the server and the client onto a tmpfs (ramdisk). In GNU/Linux you
get a tmpfs via 
sudo mount -t tmpfs -o size=400M,mode=0666 tmpfs TARGET_DIR

(just included to make it unecessary for people to read this up, if they don't
have the command at hand right now)


Note: The test burn_simple.py which uses actual calls to hg instead of dispatch
didn't yet lead to a corruption. It is considerably slower, though. 

burn_simple.py is available in the same repo as burn.py and takes the same
options.
Comment 1 Arne Babenhauserheide 2009-05-01 04:01:56 EDT
The test without dispatch now generated over 5000 commits, and I don't see any
corruption. 

I now do another test with the same setup (and all in tmpfs) but with dispatch
again to see if I get errors there.
Comment 2 Bugzilla 2012-05-12 08:59:33 EDT

--- Bug imported by bugzilla@serpentine.com 2012-05-12 08:59 EDT  ---

This bug was previously known as _bug_ 1644 at http://mercurial.selenic.com/bts/issue1644
Imported an attachment (id=1186)