Mercurial > hg
annotate tests/test-clone-stream-revlog-split.t @ 50641:5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
This detect and handle the most common case for a race condition around stream
and revlog splitting. The one were the revlog is split between the initial
collection of data and the time were we start considering stream that data.
In such case, we repatch an inlined version of that revlog together when this
happens. This is necessary as stream-v2 promised a specific number of bytes and
a specific number of files to the client. In stream-v3, we will have the
opportunity to just send a split revlog instead.
Getting a better version of the protocol for stream-v3 is still useful, but it
is no longer a blocket to fix that race condition.
Note that another, rarer race condition exist, were the revlog is split while
we creating the revlog and extracing content from it. This can be dealt with
later.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Mon, 29 May 2023 18:41:58 +0200 |
parents | 9caa860dcbec |
children | 0452af304808 |
rev | line source |
---|---|
50626
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
1 Test stream cloning while a revlog split happens |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
2 ------------------------------------------------ |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
3 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
4 #testcases stream-bundle2-v2 stream-bundle2-v3 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
5 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
6 #if stream-bundle2-v3 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
7 $ cat << EOF >> $HGRCPATH |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
8 > [experimental] |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
9 > stream-v3 = yes |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
10 > EOF |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
11 #endif |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
12 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
13 setup a repository for tests |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
14 ---------------------------- |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
15 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
16 $ cat >> $HGRCPATH << EOF |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
17 > [format] |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
18 > # skip compression to make it easy to trigger a split |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
19 > revlog-compression=none |
50641
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
20 > [phases] |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
21 > publish=no |
50626
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
22 > EOF |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
23 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
24 $ hg init server |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
25 $ cd server |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
26 $ file="some-file" |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
27 $ printf '%20d' '1' > $file |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
28 $ hg commit -Aqma |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
29 $ printf '%1024d' '1' > $file |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
30 $ hg commit -Aqmb |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
31 $ printf '%20d' '1' > $file |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
32 $ hg commit -Aqmc |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
33 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
34 check the revlog is inline |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
35 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
36 $ f -s .hg/store/data/some-file* |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
37 .hg/store/data/some-file.i: size=1259 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
38 $ hg debug-revlog-index some-file |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
39 rev linkrev nodeid p1-nodeid p2-nodeid |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
40 0 0 ed70cecbc103 000000000000 000000000000 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
41 1 1 7241018db64c ed70cecbc103 000000000000 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
42 2 2 fa1120531cc1 7241018db64c 000000000000 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
43 $ cd .. |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
44 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
45 setup synchronisation file |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
46 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
47 $ HG_TEST_STREAM_WALKED_FILE_1="$TESTTMP/sync_file_walked_1" |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
48 $ export HG_TEST_STREAM_WALKED_FILE_1 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
49 $ HG_TEST_STREAM_WALKED_FILE_2="$TESTTMP/sync_file_walked_2" |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
50 $ export HG_TEST_STREAM_WALKED_FILE_2 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
51 $ HG_TEST_STREAM_WALKED_FILE_3="$TESTTMP/sync_file_walked_3" |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
52 $ export HG_TEST_STREAM_WALKED_FILE_3 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
53 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
54 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
55 Test stream-clone raced by a revlog-split |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
56 ========================================= |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
57 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
58 Test stream-clone where the file is split right after the lock section is done |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
59 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
60 Start the server |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
61 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
62 $ hg serve -R server \ |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
63 > -p $HGPORT1 -d --error errors.log --pid-file=hg.pid \ |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
64 > --config extensions.stream_steps="$RUNTESTDIR/testlib/ext-stream-clone-steps.py" |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
65 $ cat hg.pid >> $DAEMON_PIDS |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
66 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
67 Start a client doing a streaming clone |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
68 |
50641
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
69 $ ( \ |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
70 > hg clone --debug --stream -U http://localhost:$HGPORT1 \ |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
71 > clone-while-split > client.log 2>&1; \ |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
72 > touch "$HG_TEST_STREAM_WALKED_FILE_3" \ |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
73 > ) & |
50626
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
74 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
75 Wait for the server to be done collecting data |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
76 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
77 $ $RUNTESTDIR/testlib/wait-on-file 10 $HG_TEST_STREAM_WALKED_FILE_1 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
78 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
79 trigger a split |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
80 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
81 $ dd if=/dev/zero of=server/$file bs=1k count=128 > /dev/null 2>&1 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
82 $ hg -R server ci -m "triggering a split" --config ui.timeout.warn=-1 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
83 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
84 unlock the stream generation |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
85 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
86 $ touch $HG_TEST_STREAM_WALKED_FILE_2 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
87 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
88 wait for the client to be done cloning. |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
89 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
90 $ $RUNTESTDIR/testlib/wait-on-file 10 $HG_TEST_STREAM_WALKED_FILE_3 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
91 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
92 Check everything is fine |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
93 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
94 $ cat client.log |
50641
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
95 using http://localhost:$HGPORT1/ |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
96 sending capabilities command |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
97 query 1; heads |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
98 sending batch command |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
99 streaming all changes |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
100 sending getbundle command |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
101 bundle2-input-bundle: with-transaction |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
102 bundle2-input-part: "stream2" (params: 3 mandatory) supported (stream-bundle2-v2 !) |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
103 bundle2-input-part: "stream3-exp" (params: 3 mandatory) supported (stream-bundle2-v3 !) |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
104 applying stream bundle |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
105 7 files to transfer, 2.11 KB of data |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
106 adding [s] data/some-file.i (1.23 KB) |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
107 adding [s] phaseroots (43 bytes) |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
108 adding [s] 00manifest.i (348 bytes) |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
109 adding [s] 00changelog.i (381 bytes) |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
110 adding [c] branch2-served (94 bytes) |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
111 adding [c] rbc-names-v1 (7 bytes) |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
112 adding [c] rbc-revs-v1 (24 bytes) |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
113 updating the branch cache |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
114 transferred 2.11 KB in * seconds (* */sec) (glob) |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
115 bundle2-input-part: total payload size 2268 |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
116 bundle2-input-part: "listkeys" (params: 1 mandatory) supported |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
117 bundle2-input-bundle: 2 parts total |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
118 checking for updated bookmarks |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
119 updating the branch cache |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
120 (sent 3 HTTP requests and * bytes; received * bytes in responses) (glob) |
50626
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
121 $ tail -2 errors.log |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
122 $ hg -R clone-while-split verify |
50641
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
123 checking changesets |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
124 checking manifests |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
125 crosschecking files in changesets and manifests |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
126 checking files |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
127 checking dirstate |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
128 checked 3 changesets with 3 changes to 1 files |
50626
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
129 $ hg -R clone-while-split tip |
50641
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
130 changeset: 2:dbd9854c38a6 |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
131 tag: tip |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
132 user: test |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
133 date: Thu Jan 01 00:00:00 1970 +0000 |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
134 summary: c |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
135 |
50626
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
136 $ hg -R clone-while-split debug-revlog-index some-file |
50641
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
137 rev linkrev nodeid p1-nodeid p2-nodeid |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
138 0 0 ed70cecbc103 000000000000 000000000000 |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
139 1 1 7241018db64c ed70cecbc103 000000000000 |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
140 2 2 fa1120531cc1 7241018db64c 000000000000 |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
141 $ hg -R server phase --rev 'all()' |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
142 0: draft |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
143 1: draft |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
144 2: draft |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
145 3: draft |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
146 $ hg -R clone-while-split phase --rev 'all()' |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
147 0: draft |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
148 1: draft |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
149 2: draft |
50626
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
150 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
151 subsequent pull work |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
152 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
153 $ hg -R clone-while-split pull |
50641
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
154 pulling from http://localhost:$HGPORT1/ |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
155 searching for changes |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
156 adding changesets |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
157 adding manifests |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
158 adding file changes |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
159 added 1 changesets with 1 changes to 1 files |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
160 new changesets df05c6cb1406 (1 drafts) |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
161 (run 'hg update' to get a working copy) |
50626
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
162 |
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
163 $ hg -R clone-while-split debug-revlog-index some-file |
50641
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
164 rev linkrev nodeid p1-nodeid p2-nodeid |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
165 0 0 ed70cecbc103 000000000000 000000000000 |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
166 1 1 7241018db64c ed70cecbc103 000000000000 |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
167 2 2 fa1120531cc1 7241018db64c 000000000000 |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
168 3 3 a631378adaa3 fa1120531cc1 000000000000 |
50626
9b0fe2b075b5
stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
169 $ hg -R clone-while-split verify |
50641
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
170 checking changesets |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
171 checking manifests |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
172 crosschecking files in changesets and manifests |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
173 checking files |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
174 checking dirstate |
5460424092e2
stream-clone: smoothly detect and handle a case were a revlog is split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
50640
diff
changeset
|
175 checked 4 changesets with 4 changes to 1 files |