annotate tests/test-clone-stream-revlog-split.t @ 51181:dcaa2df1f688

changelog: never inline changelog The test suite mostly use small repositories, that implies that most changelog in the tests are inlined. As a result, non-inlined changelog are quite poorly tested. Since non-inline changelog are most common case for serious repositories, this lack of testing is a significant problem that results in high profile issue like the one recently fixed by 66417f55ea33 and 849745d7da89. Inlining the changelog does not bring much to the table, the number of total file saved is negligible, and the changelog will be read by most operation anyway. So this changeset is make it so we never inline the changelog, and de-inline the one that are still inlined whenever we touch them. By doing that, we remove the "dual code path" situation for writing new entry to the changelog and move to a "single code path" situation. Having a single code path simplify the code and make sure it is covered by test (if test cover that situation obviously) This impact all tests that care about the number of file and the exchange size, but there is nothing too complicated in them just a lot of churn. The churn is made "worse" by the fact rust will use the persistent nodemap on any changelog now. Which is overall a win as it means testing the persistent nodemap more and having less special cases. In short, having inline changelog is mostly useless and an endless source of pain. We get rid of it.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Mon, 11 Dec 2023 22:27:59 +0100
parents 0452af304808
children 0f26ee69cf36
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 !)
50706
0452af304808 stream-clone: add a v3 version of the protocol
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 50641
diff changeset
103 bundle2-input-part: "stream3-exp" (params: 1 mandatory) supported (stream-bundle2-v3 !)
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
104 applying stream bundle
51181
dcaa2df1f688 changelog: never inline changelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50706
diff changeset
105 8 files to transfer, 2.11 KB of data (stream-bundle2-v2 no-rust !)
dcaa2df1f688 changelog: never inline changelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50706
diff changeset
106 10 files to transfer, 2.29 KB of data (stream-bundle2-v2 rust !)
50706
0452af304808 stream-clone: add a v3 version of the protocol
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 50641
diff changeset
107 adding [s] data/some-file.i (1.23 KB) (stream-bundle2-v2 !)
0452af304808 stream-clone: add a v3 version of the protocol
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 50641
diff changeset
108 7 entries to transfer (stream-bundle2-v3 !)
0452af304808 stream-clone: add a v3 version of the protocol
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 50641
diff changeset
109 adding [s] data/some-file.d (1.04 KB) (stream-bundle2-v3 !)
0452af304808 stream-clone: add a v3 version of the protocol
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 50641
diff changeset
110 adding [s] data/some-file.i (192 bytes) (stream-bundle2-v3 !)
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
111 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
112 adding [s] 00manifest.i (348 bytes)
51181
dcaa2df1f688 changelog: never inline changelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50706
diff changeset
113 adding [s] 00changelog.n (62 bytes) (rust !)
dcaa2df1f688 changelog: never inline changelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50706
diff changeset
114 adding [s] 00changelog-88698448.nd (128 bytes) (rust !)
dcaa2df1f688 changelog: never inline changelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50706
diff changeset
115 adding [s] 00changelog.d (189 bytes)
dcaa2df1f688 changelog: never inline changelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50706
diff changeset
116 adding [s] 00changelog.i (192 bytes)
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
117 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
118 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
119 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
120 updating the branch cache
51181
dcaa2df1f688 changelog: never inline changelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50706
diff changeset
121 transferred 2.11 KB in * seconds (* */sec) (glob) (no-rust !)
dcaa2df1f688 changelog: never inline changelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50706
diff changeset
122 transferred 2.29 KB in * seconds (* */sec) (glob) (rust !)
dcaa2df1f688 changelog: never inline changelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50706
diff changeset
123 bundle2-input-part: total payload size 2285 (stream-bundle2-v2 no-rust !)
dcaa2df1f688 changelog: never inline changelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50706
diff changeset
124 bundle2-input-part: total payload size 2518 (stream-bundle2-v2 rust !)
dcaa2df1f688 changelog: never inline changelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50706
diff changeset
125 bundle2-input-part: total payload size 2313 (stream-bundle2-v3 no-rust !)
dcaa2df1f688 changelog: never inline changelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50706
diff changeset
126 bundle2-input-part: total payload size 2546 (stream-bundle2-v3 rust !)
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
127 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
128 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
129 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
130 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
131 (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
132 $ 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
133 $ 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
134 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
135 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
136 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
137 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
138 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
139 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
140 $ 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
141 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
142 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
143 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
144 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
145 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
146
50626
9b0fe2b075b5 stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
147 $ 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
148 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
149 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
150 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
151 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
152 $ 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
153 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
154 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
155 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
156 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
157 $ 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
158 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
159 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
160 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
161
9b0fe2b075b5 stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
162 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
163
9b0fe2b075b5 stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
164 $ 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
165 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
166 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
167 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
168 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
169 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
170 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
171 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
172 (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
173
9b0fe2b075b5 stream-clone: add a test that highlight crash on revlog splitting
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
174 $ 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
175 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
176 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
177 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
178 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
179 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
180 $ 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
181 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
182 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
183 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
184 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
185 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
186 checked 4 changesets with 4 changes to 1 files