Commit Graph

64980 Commits

Author SHA1 Message Date
Genevieve Helsel
ddbb036353 allow backgrounding prefetches within the eden daemon
Summary: Allows us to background a prefetch (similar to how prefetch-profile fetches are backgrounded). A thing to note here is that we do not deduplicate fetches for prefetches, but if there is enough busy work between bulk filesystem accesses and the prefetch finishing, this should not be an issue.

Reviewed By: chadaustin

Differential Revision: D27028428

fbshipit-source-id: 5c528fff76719f42151542eaa3499271f7ab6fa3
2021-04-26 16:16:21 -07:00
svcscm svcscm
d7bfdf5217 Updating submodules
Summary:
GitHub commits:

0a3c74659d
055efebc4d
e71d8816bb
d098711a3f
756fe02bb4
3f045c7e65
8b6bd59416
1ac8c3bc09
c08116cd76
2e9e773f35

Reviewed By: jurajh-fb

fbshipit-source-id: 0c4c2da57d447b684e323041a80781fffe55ceca
2021-04-26 15:56:24 -07:00
svcscm svcscm
cfa3c862d8 Updating submodules
Summary:
GitHub commits:

4794b98ca2
82d54f04c8
0ca6d6297f
c1963f35d6
967b240bc9
95805fb61a

Reviewed By: jurajh-fb

fbshipit-source-id: def326587a411cffb7eaf7c1b181b7059e3956d2
2021-04-26 14:26:21 -07:00
svcscm svcscm
8687b79375 Updating submodules
Summary:
GitHub commits:

f2e90bca9c
2760c2aef8
7d33bdae62
2cac1d62b9

Reviewed By: jurajh-fb

fbshipit-source-id: 77317617fc3a30f4945bd21953943e3698bd556e
2021-04-26 10:23:33 -07:00
Kostia Balytskyi
e4ca9347b8 megarepo: impl config adding methods
Summary:
This diff wires up actual `scs_server` methods `megarepo_add_sync_target_config`, `megarepo_add_sync_target`, `megarepo_add_sync_target_poll` to the underlying logic in the `CfgrMononokeMegarepoConfigs`.

One of these is a synchronous method (`megarepo_add_sync_target_config`), so it is implemented properly. This method only allows adding new configs to an existing target.

The other two are a pair of async methods (create reqest + poll request) for target creation with an initial config. On the one hand, we don't yet have any infrastructure for async methods, so properly implementing this pair is not possible. What's more, target creation is a two-part operation: save a config + create an initial repo commit. Second part is not yet implemented at all (and is what requires async implementation, as it is going to be expensive). On the other hand, I would like to expose the concept of target creation for the client to test, that's why I add `FAKE_ADD_TARGET_TOKEN` to mask a so-far synchronous impl of this method as asynchronous.

Once I implement async methods, I will come back and work on a proper `megarepo_add_sync_target` impl (this is the first method to be implemented).

Important: any use of these methods now should be considered experimental, and we'll have to delete all of these configs later (because all of the targets won't have any corresponding bookmarks in the real repos, which makes them invalid).

Reviewed By: StanislavGlebik

Differential Revision: D27885979

fbshipit-source-id: 9e2a914af1a7db2ec00ffa11a832ddd71fd19d0f
2021-04-26 09:43:42 -07:00
Kostia Balytskyi
82ffc5b731 blobstore: export impl_loadable_storable macro
Summary:
This will help people to introduce new blobstore objects in their code (for
instance I intend to use it in the following diff).

The `private` module exists to allow the use of the exported macro without the
need to write a bunch of `use` statements, and without pollution the re-export
namespace. The idea is that everything needed by the exported macro exists in
the `private` module of the crate, and this module is public.
So long as some other crate imports the macro, it expands to
`$crate::private::NEEDED_THING` in the right places and no further `use`
statements of dependencies are needed. At the same time, the name `private`
should discourage people from using whatever is in this module directly. The
idea is taken from `anyhow`.

Reviewed By: StanislavGlebik

Differential Revision: D27997228

fbshipit-source-id: fd2c421d0daf0fe88e2b9001bb4088fe7b4d59b7
2021-04-26 06:37:22 -07:00
Stanislau Hlebik
fbdd7a453c mononoke: fix regressions during push
Summary:
Collecting into SortedVecMap an unsorted iterator is inefficient, because of
how [try_collect()](https://docs.rs/futures-util/0.3.0/src/futures_util/stream/try_stream/try_collect.rs.html#57) works. It calls `extend()` method every time a new element was fetched from the
stream. So if stream was unsorted, then we ran into a quadratic behaviour with
lots of reallocations.

Let's instead collect into BTreeMap, and then convert it into SortedVecMap.

Reviewed By: markbt

Differential Revision: D27997469

fbshipit-source-id: 58f837e6cc946ccc8809cce3d7a5a2e6ca24df40
2021-04-26 05:28:16 -07:00
Thomas Orozco
ee9bbb67d8 mononoke: add a demo for RendezVous
Summary:
I'd like to have a quick way of documenting how this is supposed to be used,
so let's add it.

Reviewed By: HarveyHunt

Differential Revision: D27996500

fbshipit-source-id: 0d138ac3335a3ecb7f0e15aebbdc89d01941cbed
2021-04-26 04:43:55 -07:00
svcscm svcscm
e453d1b76b Updating submodules
Summary:
GitHub commits:

d8f4d03c55
d32b69a55a
6bab3a34e9
0127f40fb1
03d3858823

Reviewed By: bigfootjon

fbshipit-source-id: ffde7e1c584560dea3f6ed8b088e38a474b91390
2021-04-26 04:43:55 -07:00
svcscm svcscm
c745c3d206 Updating submodules
Summary:
GitHub commits:

5f82bc7feb
9fa19cd80a
bd8c501def
8ec858d740
c20bbb1f8f
90daa7cb03

Reviewed By: bigfootjon

fbshipit-source-id: 746b7fef557caf3ea0914bc87a5f748d4bd1d4c2
2021-04-26 03:20:36 -07:00
svcscm svcscm
a80ba56a8f Updating submodules
Summary:
GitHub commits:

3843360a20
8ce885fcec
0f5ddddd3d
19456136ca
7a61d1ce7f
74126573ff
4b837f397e
e0561f69dc
448643028e

Reviewed By: bigfootjon

fbshipit-source-id: c2b360ac3d28d766629440b8f1bd19f25da885a0
2021-04-26 01:44:09 -07:00
svcscm svcscm
733a1d93b7 Updating submodules
Summary:
GitHub commits:

86cff21a57
8e08f7200b
c9d3265e3b
ed84cd436b
6fcc5b26d6
37deb684b9
c665409cca
686ca2a9a5
1f68761186
5fc3fe2520

Reviewed By: bigfootjon

fbshipit-source-id: 08b1dde261e02a2cfdddb13dc268b842288c8f3b
2021-04-26 00:11:59 -07:00
svcscm svcscm
f6c9355a6f Updating submodules
Summary:
GitHub commits:

c2483a6632
a86e22f707
da606bda7f
b83265b0dd
e533e39809

Reviewed By: bigfootjon

fbshipit-source-id: 512c77f276c0395a89e88c9ec84ecada2edb161d
2021-04-25 22:53:40 -07:00
svcscm svcscm
7ca7e87796 Updating submodules
Summary:
GitHub commits:

f884517ffa
01ba3d5999
c835e7c9ad
4c1aa2e2cb
373d589b9c
7e526a33c0

Reviewed By: bigfootjon

fbshipit-source-id: b45aebd5a366b5c0b40b5ee95b6ad2d70fb9123d
2021-04-25 21:31:16 -07:00
svcscm svcscm
0de08b25a2 Updating submodules
Summary:
GitHub commits:

29269933b3
679ef527e3
4119741816
f35873e8e2
e4c5607eab
dec1639fcb
baf9a8d317
9a9d8e029c
e4f320de78

Reviewed By: bigfootjon

fbshipit-source-id: eadfa947bec7e1117696d97028f38a6f4d698c82
2021-04-25 20:04:03 -07:00
svcscm svcscm
0252a23e1c Updating submodules
Summary:
GitHub commits:

ff0d8d8993
a4a7a88769
032787c843
16f8d7e63e
3507a6ca3d
f60161b6c9
9dc6d1188c
d09316b4b8
ff7a34c125
5f733ae361
2d6ad51384

Reviewed By: bigfootjon

fbshipit-source-id: c4b236b3123c87bd2a9b635f2be2a66d0aa05f04
2021-04-25 18:39:29 -07:00
svcscm svcscm
cf9ec56e2b Updating submodules
Summary:
GitHub commits:

54f2009013
79658c0c99
94293e5d53
92d8ef303d
0982ba05c8
4242d3cf40
b0f6ae6b62

Reviewed By: bigfootjon

fbshipit-source-id: c475a32a5c31c90bd6201b223c571f4507f4f080
2021-04-25 17:20:44 -07:00
svcscm svcscm
662ec924d4 Updating submodules
Summary:
GitHub commits:

984f9e310d
17817a1892
e4f7fac72a
24e34f4f5b
09e6038b68
897c8b3e5b
f386d3a05f
a083099700
958feb412c

Reviewed By: bigfootjon

fbshipit-source-id: ad8b969816051ef8e7763973435bb0d64f7a7bf1
2021-04-25 14:51:32 -07:00
svcscm svcscm
62d2861f70 Updating submodules
Summary:
GitHub commits:

8b9365fa90
30cd2e470e
53f3591911
a28f760550
8ac2312a33
9ef6948e56
8a63417868
25b1290ba0
c69cc4afeb
70e1cb2161
0bbba24133

Reviewed By: bigfootjon

fbshipit-source-id: a9bf566a60a9079451ad43c9745793b5096850c3
2021-04-25 13:34:15 -07:00
svcscm svcscm
1279e789e7 Updating submodules
Summary:
GitHub commits:

a6df9f9b7d
76b4413e23
856399108e
8ed2344bcf
c354fb8251
6d4b556dab
9e37a973b8
36d375f5ac
8f8853ea09
3f7368c219

Reviewed By: bigfootjon

fbshipit-source-id: 5846781a390b73908d1033823c1604ef51789198
2021-04-25 12:10:10 -07:00
svcscm svcscm
4a05367d2d Updating submodules
Summary:
GitHub commits:

a43c3fc483
66c708400f
a896ebbbfa
65affb9d64
cd284f16c4
58af2fc9c6
4322f8d225
9df4bb2a43
e29062fae9
5dbf0c4540

Reviewed By: bigfootjon

fbshipit-source-id: b829804e9889787a511bbfb12426c0df11d65bdc
2021-04-25 10:39:54 -07:00
svcscm svcscm
be490e47cc Updating submodules
Summary:
GitHub commits:

6fcad841db
ef2911d6fa

Reviewed By: bigfootjon

fbshipit-source-id: 8e9312e8ec07ac562887f4f19e3d373a2f4901e2
2021-04-25 09:27:51 -07:00
svcscm svcscm
5ce3067449 Updating submodules
Summary:
GitHub commits:

964189b17c
dbe58de27a
cfb0aadd01
f8cf97f3e6

Reviewed By: bigfootjon

fbshipit-source-id: 5b0153e090ef9052080641d71feef603e92503b8
2021-04-25 07:00:24 -07:00
svcscm svcscm
09ffbac6ae Updating submodules
Summary:
GitHub commits:

7a29936bca
dc44f6b61b
40771439e5
67a6c03026
f4d04a54d8
a601e871dc

Reviewed By: bigfootjon

fbshipit-source-id: 22fd90b6bec3062eed9f9dce17a512c291b71029
2021-04-25 05:44:55 -07:00
svcscm svcscm
61441d0e76 Updating submodules
Summary:
GitHub commits:

8666b54198
f7b523842d
54172350d7
b8b080c5b5
dfddc314a8
925961c0a1
4fe181818b
451486ea17
6566dfaa06

Reviewed By: bigfootjon

fbshipit-source-id: 88c91a11507b81a87b2e8ea709f666c0f8a136e0
2021-04-25 04:20:51 -07:00
svcscm svcscm
4087f8697f Updating submodules
Summary:
GitHub commits:

98b1eaabd7
0163c2b119
4a93e975d0
74928738c4
602ffe934d
4b99556de9
ed4e5b34ee
316d2ce671
14c774c1c5
57b2b82760

Reviewed By: bigfootjon

fbshipit-source-id: 50e5b43d63a8009e5974878cf0f03eff8f8c7331
2021-04-25 02:53:35 -07:00
svcscm svcscm
9b99589ad1 Updating submodules
Summary:
GitHub commits:

e6e7080e35

Reviewed By: bigfootjon

fbshipit-source-id: fb2cf276a14aa18f92a3ee5c0e910f5489e69996
2021-04-25 00:04:44 -07:00
svcscm svcscm
fda8440c57 Updating submodules
Summary:
GitHub commits:

69b1b0e5f4
6bdae7edc3
12579eeae3
3fb54cb0a5
19c2058560

Reviewed By: bigfootjon

fbshipit-source-id: 370ed27b4e152a7d4561c30504bdb2963be8e5de
2021-04-24 21:27:14 -07:00
svcscm svcscm
fab02607d6 Updating submodules
Summary:
GitHub commits:

f6a8314169
edc219c30d
a5043b64d2
69b8d4b824
e8899d458c
c42c3105d7

Reviewed By: bigfootjon

fbshipit-source-id: a2c537d50eb6f0130212c83b9af0e661081a017b
2021-04-24 18:37:25 -07:00
svcscm svcscm
9d114334fe Updating submodules
Summary:
GitHub commits:

b833a81894
7751bd7f4a
b62567f5ce
e784b88cd4
8c4ea479c0
d4b845f7bc
9ba3f77846
f131bde950
35e47383f9

Reviewed By: bigfootjon

fbshipit-source-id: 364a721131397770d938fae59791fefe317fc53d
2021-04-24 15:46:16 -07:00
svcscm svcscm
feee83c4fb Updating submodules
Summary:
GitHub commits:

b9425ab021
addc653747
114d2eaf32
7f5de9676a
8975970e02
0dc34e9ed8
2af65384cc
8403ae24f1
cb2be55fa8
5eaf0e9664
6277d48dd5

Reviewed By: bigfootjon

fbshipit-source-id: 7ca2fedfbb2226241fd03369026298df9934b39d
2021-04-24 14:20:02 -07:00
svcscm svcscm
b6f8d35f06 Updating submodules
Summary:
GitHub commits:

2df919bac3
90f7af1f98
d93ee0aedc
5d1b9736e1
8ebb62bd40
a73750a824
afc1d9f7da

Reviewed By: bigfootjon

fbshipit-source-id: cd324a7457ddc03993889b4722d6758a8803bd46
2021-04-24 13:02:37 -07:00
Simon Farnsworth
323d95f8c8 Cargo builds don't like these braces
Summary: So remove them

Reviewed By: krallin

Differential Revision: D27967526

fbshipit-source-id: ce6973dd0da53a7db94972c4874694d760300a1f
2021-04-24 12:30:32 -07:00
svcscm svcscm
9846972ebc Updating submodules
Summary:
GitHub commits:

6a0e5a73a3
a92b8da6ef
21abfe41cf
d32a648c1b
c3a60bfa74
6a422cac5b
29f7434f5c
6b1830f62e
715da74852

Reviewed By: bigfootjon

fbshipit-source-id: fb8fad8015a29e19091ce0845f61c9b078fa4c88
2021-04-24 10:33:40 -07:00
svcscm svcscm
7c3085532e Updating submodules
Summary:
GitHub commits:

3724de8beb
85986817bd
84280da116
89edd98753
f2e769b9f7
0502d98e04
60e1b0a807
5ea42c7fc1
6555573382
4eb434c4d6
9a729022cb

Reviewed By: bigfootjon

fbshipit-source-id: 1c7211884c8e579921c33568d16fa6aeb0f6163a
2021-04-24 09:13:14 -07:00
svcscm svcscm
bc1b8aa05d Updating submodules
Summary:
GitHub commits:

e57a1f775a
6e6098a8a5
7560527b0d
76f8268c77
07d9d752ce
cedff251b2
72d3a804fe
7c5970c573
00059beee1
9b0d49c6a5
f58363b817

Reviewed By: bigfootjon

fbshipit-source-id: e0a23c5c5c7d6ab9de1eb71ae13c2b26ee907ace
2021-04-24 07:55:51 -07:00
svcscm svcscm
7c0d3a0466 Updating submodules
Summary:
GitHub commits:

93090923a0
5eba6e7f8f
2e5f2baed7
0cc14e6bad
eefe313b4a

Reviewed By: bigfootjon

fbshipit-source-id: efc82533dbda2f67174712f0941828b40120bd3f
2021-04-24 07:16:22 -07:00
svcscm svcscm
c0be9e57d2 Updating submodules
Summary:
GitHub commits:

002ec90c65
628b75b2cb
6ec4d72fab
9d9d93754b
6ed5bffb48
a5aa98873f

Reviewed By: bigfootjon

fbshipit-source-id: e01f0c2f4d547c8b4802db188fabc7da11f7edac
2021-04-24 05:54:32 -07:00
svcscm svcscm
7c2a073ddf Updating submodules
Summary:
GitHub commits:

a93e905b53
04919a3714
a950fb1489
ffc65f0034
e7390b26a8
d1b9dcc6c7
6e447cfb4c
e6f6511a67
201b984785

Reviewed By: bigfootjon

fbshipit-source-id: 905e4b2ef5d645103ba4f8e4177af1cf75127606
2021-04-24 04:40:26 -07:00
svcscm svcscm
278799e7b2 Updating submodules
Summary:
GitHub commits:

ff5a863e5c
350a149bd2
10d69dd064
8d3bc380c9
ba3e2df803
2a05b4417b
285c6d1ce6
6b0c6e043a
76bbc8ed71
1e68745313
0c5dfed4f6

Reviewed By: bigfootjon

fbshipit-source-id: db5d67dd4087f83e58c086d4633a972ea25490ad
2021-04-24 03:27:48 -07:00
svcscm svcscm
b945950656 Updating submodules
Summary:
GitHub commits:

32b3838b3b
45a274d399
40173885dd
db330e7cee
a3cc20c4c9
4fdb2d2859
da1ae5a36e
56223db813
90e2686278
c6167fd18e

Reviewed By: bigfootjon

fbshipit-source-id: 92e82f43d60943f8dee76f768cf56aaf2c0b10da
2021-04-24 00:37:12 -07:00
svcscm svcscm
85b360ce8f Updating submodules
Summary:
GitHub commits:

19fad0eac0
62731d7c39
a589c632a5
1f14c09c36
9f1f74113e
c2c841f4e4
6abddd0ad2
a50df91720
964063281c
e57108f017
8450474c82

Reviewed By: bigfootjon

fbshipit-source-id: f68954f87a6fedb87b1a48c0359a34ef01114bef
2021-04-23 23:19:39 -07:00
svcscm svcscm
71c558a160 Updating submodules
Summary:
GitHub commits:

021cd2bf34
95762cae76
616cc39b94
31fbd123f1
faa679aed2
bcf6198767
50c4d50bcc
62aba0f1e9
a28adb06d5
386e59796e
f727b18a6f

Reviewed By: bigfootjon

fbshipit-source-id: 0d1a2435e9f356ce5e00a29d8d680a308b3c2b88
2021-04-23 21:58:38 -07:00
svcscm svcscm
e8618a3128 Updating submodules
Summary:
GitHub commits:

b3c4b2cba3
2fe3b2a8e1
0297c176c9
247e321c8d
a6bba785c6
cc1c3ee54e
8ee0f15953
7de9c9d63a
d077ee6f81
7c6f570e7d

Reviewed By: bigfootjon

fbshipit-source-id: b517e26efe17d521e53a4af892d1678858666b73
2021-04-23 20:43:00 -07:00
Durham Goode
ce9d5a2f0f py3: fix conflict resolution case handling
Summary: In python 3 these strings are already unicode, so let's just .upper() them. Otherwise it crashes with 'no decode() on str'. This only impacts eden checkouts, since non-eden uses treestate which doesn't use this codepath.

Reviewed By: quark-zju

Differential Revision: D27978369

fbshipit-source-id: a298c1b455fdb8aa09db0ac667bd97b8e419bbe8
2021-04-23 18:04:11 -07:00
Durham Goode
423e5ee12d commitcloud: don't crash pull if there are no commitcloud certs
Summary:
During pull, commitcloud may try to auto join a cloud workspace. If
there are no certs, the join will fail and will cause the overall pull to exit
non-zero. Let's just print a warning instead and allow the pull to succeed.

Reviewed By: sfilipco

Differential Revision: D27928397

fbshipit-source-id: 432ee589438bb5af9f47f7aaa735bbbb5a17ad6b
2021-04-23 17:01:21 -07:00
Zeyi (Rice) Fan
a87cfb9aa3 utils: expand AbsolutePathBase to provide some filesystem related methods via Boost
Summary:
These methods will be used in my later Windows fsck diff as it will need to scan disk state to find changes.

It is a bit unfortunate that we'll need to stick with boost for now. However this should be a fairly easy migration to `std::filesystem` once that is available.

Reviewed By: kmancini

Differential Revision: D27872828

fbshipit-source-id: f6b27a171026aeaaea3db9f17b8f43cfa25004e4
2021-04-23 15:22:09 -07:00
Katie Mancini
8e1a30a2a9 nfs: run most integration tests on edenfs
Summary:
Currently we have limited test coverage of the NFS code. Let's start running
our integration tests on NFS mounts. We already duplicate tests to run them on
both Git and Hg repos using a python decorator. We can update this decorator to
run a copy of tests on an nfs mount.

This covers most of the tests, but a few tests do not use this decorator. See next
change.

Note some tests are currently broken, so I am using the same skip list functionality
we use for windows so we use a uniform framework.

Reviewed By: xavierd

Differential Revision: D27874662

fbshipit-source-id: c7d425830b691e395b5228d0e0f797f67987b4ec
2021-04-23 13:30:17 -07:00
Zeyi (Rice) Fan
287a9ff724 utils: add stack trace for Windows
Summary:
Copy from Watchman.

This allows us to show stack trace when EdenFS terminates on Windows.

Reviewed By: chadaustin

Differential Revision: D27896966

fbshipit-source-id: f3238a37a1176f879d5e6bc051ec97031c9a7096
2021-04-23 13:20:46 -07:00
Jun Wu
0540035fcc hgcommits: add add_graph_nodes API
Summary:
Add a way to extend the graph with concrete commit hashes, without specifying
exact commit messages.

Reviewed By: sfilipco

Differential Revision: D27897894

fbshipit-source-id: fccd64b2fef1386d79cddd841208da6a938a5217
2021-04-23 12:35:27 -07:00