Commit Graph

67021 Commits

Author SHA1 Message Date
svcscm svcscm
8b74fec01f Updating submodules
Summary:
GitHub commits:

e81e3e90b5
c909edce98
a53b398b69
25caedeeec
72a12de62c
d1e8efdd6b

Reviewed By: yns88

fbshipit-source-id: 5e1884b2098f640709892c5bb9fb4bf936a42eed
2021-07-28 01:23:31 -07:00
svcscm svcscm
fe9f7b2f7c Updating submodules
Summary:
GitHub commits:

0c7299f82b
3e96c8c11c
bd44385af9
b8c196638c
159a45f875
a4594dded7
fa411c0390
922951519b
d3ab906006

Reviewed By: yns88

fbshipit-source-id: ec276be66e8c4638d3993b3124f4ca6533b02064
2021-07-28 00:50:26 -07:00
svcscm svcscm
de553faec0 Updating submodules
Summary:
GitHub commits:

cc26e5c6fd
b3646e74ec
d654d29771
7a3e2cd7b1
763e257bc0
5c71a17eb1
f7480b0c75
c5b050edde
d6f1104f92
f6f26fd053

Reviewed By: yns88

fbshipit-source-id: aa7d4412c74b41130c7520bea312506d809c5185
2021-07-28 00:20:33 -07:00
svcscm svcscm
d3a2e3f737 Updating submodules
Summary:
GitHub commits:

c5640a8345
1aa70552c0
dc4916065f
7faa0181cc
ffc759d1e2

Reviewed By: yns88

fbshipit-source-id: 9bc48faf342e8f4fa0895661273b40fc5d90b289
2021-07-27 23:45:48 -07:00
svcscm svcscm
a0b12c8c10 Updating submodules
Summary:
GitHub commits:

68d70e2f57
187ecd2964
9594ca5fd9
75494c2ba9
a762cdb298
28db5260b7

Reviewed By: yns88

fbshipit-source-id: d41e9aa4ee2f85400da2338e2fdbd2bac01a8d63
2021-07-27 23:16:31 -07:00
svcscm svcscm
e6c0925bfb Updating submodules
Summary:
GitHub commits:

d4fc52b5ad
d86d167b7c
27592c50a7
ebe299072e
804cff5013
09e607c31e
aea277da16
d05d13a4e3
e351c30c71

Reviewed By: yns88

fbshipit-source-id: 007558c444352332024bd6dd30c355bd840cd3c7
2021-07-27 22:50:20 -07:00
Jia Chen
b742a447e2 Switch eden to new Pyre backend
Summary: This project has custom stubs that contain type errors. We'll need to fix them so the switch to new Pyre backend won't create any regressions.

Reviewed By: dkgi

Differential Revision: D29953374

fbshipit-source-id: f54d25682d6b01eed4867eab6823e29ddb95e754
2021-07-27 22:39:51 -07:00
svcscm svcscm
b2f4984cb7 Updating submodules
Summary:
GitHub commits:

d52bc0d98e
f9de245193
879a31aece
1bee701aa5
74b7c0d249
232d07ae9f
7fc18faa96
661b108c20
3a4d18e080
744de65e03
d13d48cdd9
810c0932f9

Reviewed By: yns88

fbshipit-source-id: 7d4ecb3661a70eb05ef3598d55148f5610a7ada6
2021-07-27 22:06:27 -07:00
svcscm svcscm
fa30cce7fd Updating submodules
Summary:
GitHub commits:

94930340c6
99a1631448
1e4c4f7fe7
d33f356c1d
ef81a05c13
25a99760ac
20efcccf37
6235f56fec
b7c736b5b7
6d12af0507
a6eeb6cf51

Reviewed By: yns88

fbshipit-source-id: 7242b8cb0b290ff75e4d9af082cbfc49492b04f5
2021-07-27 21:40:10 -07:00
Zhengchao Liu
cd044d60cf make NotFetched as the default RequestContext origin
Summary: Addresses feedback on {D29805637 (067abe2d55)}.

Reviewed By: chadaustin

Differential Revision: D29951945

fbshipit-source-id: 36f33de9762634e99d898ffdd64dfbd9e7ea9323
2021-07-27 21:23:38 -07:00
svcscm svcscm
ecd6818d52 Updating submodules
Summary:
GitHub commits:

c3c6b78895

Reviewed By: yns88

fbshipit-source-id: a0c93de36dd683a61d408fe98fb5fe25bf2faa68
2021-07-27 21:16:37 -07:00
svcscm svcscm
605dab7720 Updating submodules
Summary:
GitHub commits:

d33f356c1d

Reviewed By: yns88

fbshipit-source-id: 554e16480ad7fd8886336ef757bfccc035409c8d
2021-07-27 21:06:06 -07:00
svcscm svcscm
509012b1f3 Updating submodules
Summary:
GitHub commits:

6efd98fccd
de245778e0
5e76df09db
8cdacea875

Reviewed By: yns88

fbshipit-source-id: 1875ea1700487670ca8d60a467a0abe990b816c8
2021-07-27 17:03:25 -07:00
svcscm svcscm
6945c1357f Updating submodules
Summary:
GitHub commits:

016726444d
4b69bbf7e6
b56918c6ca
5596fe4426
2f3497b902
1bc3597326
2168cc8022

Reviewed By: yns88

fbshipit-source-id: fd047b9cba16ba05dcfcafb26ec5e4ce78bd6431
2021-07-27 16:38:31 -07:00
Xavier Deguillard
2a2a269d17 integration: fix pull_test with getdeps
Summary:
We need to set the infinitepush path too so that the Mercurial autopull code
won't try to pull from Mononoke

Reviewed By: genevievehelsel

Differential Revision: D29943227

fbshipit-source-id: a67dbfe97e7ab46dee885d9ec91a4d194dc2bd37
2021-07-27 16:16:30 -07:00
svcscm svcscm
04216ec2a4 Updating submodules
Summary:
GitHub commits:

a48f4965f5
ebb484997e
d7c8be9bde
06ec2dfd76
a31a0a317d
6d3eaae615
d71b8d93c9
71b3dd3f06
3528a6734f

Reviewed By: yns88

fbshipit-source-id: 53ebe9da1259923c7fa071c62243faa0ba3e52d4
2021-07-27 16:02:04 -07:00
svcscm svcscm
6cbbbe792c Updating submodules
Summary:
GitHub commits:

6af05b0b27
e255024583
c8a2af2eaf
df6cbaf970
67b75d9bc7
dd929c6d87
5d31f27c16
522d2e45aa
e694807249
5aec0fc41a

Reviewed By: yns88

fbshipit-source-id: bcfbe6731d8a5597e40868d1d09efe607a28cec2
2021-07-27 15:34:20 -07:00
svcscm svcscm
1d6b49b960 Updating submodules
Summary:
GitHub commits:

481fa55728
9e8cc690fb
c3c6b78895
6c9dd7c504
b6dac1d398
a96e1dd833

Reviewed By: yns88

fbshipit-source-id: 3d94bc5291641e5d53e69ae7f7fce553b3dd2b50
2021-07-27 15:01:51 -07:00
svcscm svcscm
b2f084673e Updating submodules
Summary:
GitHub commits:

dec8c37f48
5efc635c9a
ba2c892703
d6acb922dc
24ec05d974
eec79b39a6
10c8e1a603
f52a2b2a59
bc72dbddcb

Reviewed By: yns88

fbshipit-source-id: 38124ea0d4ec0be56974c8e931a8ce98e04f6b9f
2021-07-27 14:18:14 -07:00
Stanislau Hlebik
ad0c9b7e2c mononoke: add more scuba logging to async request worker
Summary: It's nice to understand what's going on

Reviewed By: liubov-dmitrieva

Differential Revision: D29846694

fbshipit-source-id: 7551199ef4529e45c0eb23f79c0cc4a71ba54d0f
2021-07-27 14:12:54 -07:00
Stanislau Hlebik
f4a078e257 mononoke: make sure async megarepo requests are picked up by another worker if current worker dies
Summary:
High-level goal of this diff:
We have a problem in long_running_request_queue - if a tw job dies in the
middle of processing a request then this request will never be picked up by any
other job, and will never be completed.
The idea of the fix is fairly simple - while a job is executing a request it
needs to constantly update inprogress_last_updated_at field with the current
timestamp. In case a job dies then other jobs would notice that timestamp
hasn't been updated for a while and mark this job as "new" again, so that
somebody else can pick it up.
Note that it obviously doesn't prevent all possible race conditions - the worker
might just be too slow and not update the inprogress timestamp in time, but
that race condition we'd handle on other layers i.e. our worker guarantees that
every request will be executed at least once, but it doesn't guarantee that it will
be executed exactly once.

Now a few notes about implementation:
1) I intentionally separated methods for finding abandoned requests, and marking them new again. I did so to make it easier to log which requests where abandoned (logging will come in the next diffs).

2) My original idea (D29821091) had an additional field called execution_uuid, which would be changed each time a new worker claims a request. In the end I decided it's not worth it - while execution_uuid can reduce the likelyhood of two workers running at the same time, it doesn't eliminate it completely. So I decided that execution_uuid doesn't really gives us much.

3) It's possible that there will be two workers will be executing the same request and update the same inprogress_last_updated_at field. As I mentioned above, this is expected, and request implementation needs to handle it gracefully.

Reviewed By: krallin

Differential Revision: D29845826

fbshipit-source-id: 9285805c163b57d22a1936f85783154f6f41df2f
2021-07-27 14:12:53 -07:00
Stanislau Hlebik
9271300067 mononoke: mark some fields as nullable
Summary:
Currently they got zeros by default, but having NULL here seems like a nicer
option.

Reviewed By: krallin

Differential Revision: D29846254

fbshipit-source-id: 981d979055eca91594ef81f0d6dc4ba571a2e8be
2021-07-27 14:12:53 -07:00
Stanislau Hlebik
3b7d6bdfae mononoke: bring long_running_request_queue in sync with what we have in prod
Reviewed By: krallin

Differential Revision: D29817070

fbshipit-source-id: 37b029e74c54df7ff5a7bd4a1c8ef3f85fff127c
2021-07-27 14:12:53 -07:00
svcscm svcscm
871316b597 Updating submodules
Summary:
GitHub commits:

43a3a3c5f8
b84a7cc41b
3a15af3aa7
da3d8aa490
ddf439c561
121064b17f
1981052051
8245ea7365
ce649ecb5b
3f0c67e8e1

Reviewed By: yns88

fbshipit-source-id: 43dba5690799385fb82fe83846e826ff08fa9fec
2021-07-27 13:54:13 -07:00
svcscm svcscm
f7b6bbb583 Updating submodules
Summary:
GitHub commits:

2d1ffadb24
04c1f39cb4
d3480c068f
8ff9962382
3aee4fbd41
694b142dfa
033f985630
0014bea1e2
9fcee6178c
4fa58c3ff9

Reviewed By: yns88

fbshipit-source-id: 5b1822389edbcb997805ad1726d371fff703986f
2021-07-27 13:47:01 -07:00
svcscm svcscm
a94a0bdb09 Updating submodules
Summary:
GitHub commits:

43a3a3c5f8
b84a7cc41b
3a15af3aa7
da3d8aa490
1981052051
8245ea7365

Reviewed By: yns88

fbshipit-source-id: c6f85dcd61805c2e43f538af816aae84f57d3b87
2021-07-27 13:33:09 -07:00
svcscm svcscm
ac31002eed Updating submodules
Summary:
GitHub commits:

e66f966bf7
8b6fc1e349
253039d73a
06baf857df
ddf439c561
121064b17f
567021db11
51c186aec8
ce649ecb5b
3f0c67e8e1

Reviewed By: yns88

fbshipit-source-id: 60061692cd56809d81459378b2346be35a376a07
2021-07-27 13:05:40 -07:00
svcscm svcscm
b74893595e Updating submodules
Summary:
GitHub commits:

2d1ffadb24
04c1f39cb4
d3480c068f
8ff9962382
694b142dfa
033f985630
0014bea1e2
1637c46bba
9fcee6178c
4fa58c3ff9
27ff73b703

Reviewed By: yns88

fbshipit-source-id: f64833e98a27ed4fd06fbb306108e2e1503ab5c6
2021-07-27 12:52:38 -07:00
Stanislau Hlebik
8cd6278de9 mononoke: implement ensure_ancestors_of option for bookmarks
Summary:
This option would let us tell that a given bookmark (or bookmarks if they are
specified via a regex) is allowed to move only if it stays an ancestor of a
given bookmark.
Note - this is a sev followup, and we intend to use it for */stable bookmarks
(e.g. fbcode/stable, fbsource/stable etc). They are always intended to be an
ancestor of master

Reviewed By: krallin

Differential Revision: D29878144

fbshipit-source-id: a5ce08a09328e6a19af4d233c1a273a5e620b9ce
2021-07-27 12:47:22 -07:00
Muir Manders
3b281295b9 amend: fix file mixup during "--to" rebase
Summary:
When rebasing during "amend --to", we were mixing up file contents when there was more than a single merged file in a three way merge. The cause was a lambda within a loop closing over a loop variable.

Also suppress the "merging some/file.c" message if the result of the three way merge is identical to the "local" version of the file. It is confusing to see unexpected "merging" messages.

Reviewed By: DurhamG

Differential Revision: D29940097

fbshipit-source-id: 5a4c19279c14209268359939fbf91f164c791b2e
2021-07-27 12:26:42 -07:00
svcscm svcscm
7afdb58095 Updating submodules
Summary:
GitHub commits:

35b47412d4
44bbc68fd2
170a0204b2
2f5a71ddc8
6c8ac1214c
9781484c1c
82558727a2

Reviewed By: yns88

fbshipit-source-id: 321f6293fa217463c4535a8d6133b889e7e52723
2021-07-27 11:55:19 -07:00
svcscm svcscm
e9165c1005 Updating submodules
Summary:
GitHub commits:

6325d62a73
b1ac233d18

Reviewed By: yns88

fbshipit-source-id: 2487636659e44c2d395599e9034b622fba988bf6
2021-07-27 10:45:21 -07:00
Xavier Deguillard
628ba1b62d utils: fix race in SpawnedProcess::threadedCommunicate
Summary:
TSAN complains that pipes_ is read and written in different threads without
proper synchronization. To avoid this, we can simply close the FileDescriptor
without removing it from the pipes map as this achieve the same result: it
notifies the reader that the endpoint is closed.

Differential Revision: D29924043

fbshipit-source-id: be92630799bb5c78089dbe85f9c2f02f937300bc
2021-07-27 07:32:42 -07:00
Yan Soares Couto
5ee6cc870b Read parents hgid from blobrepo when not local
Summary:
## High level goal

This stack aims to add a way to upload commits directly using the bonsai format via edenapi, instead of using the hg format and converting on server.

The reason this is necessary is that snapshots will be uploaded on bonsai format directly, as hg format doesn't support them. So this is a stepping stone to do that, first being implemented on commit cloud upload, as that code already uses eden api, and later will be used by the snapshotting commands.

## This diff

This diff fixes the bonsai changeset upload endpoint, by making it get the changesets for the parents using hgids by querying them from blobrepo. The inner map is not enough as the bottom of the stack always has a parent outside of the stack.

Reviewed By: liubov-dmitrieva

Differential Revision: D29880356

fbshipit-source-id: b6b5428159e8c74f5a910f39dadb98aa10c78542
2021-07-27 05:46:41 -07:00
Yan Soares Couto
9aae11a5ab Return indexed content ids on uploadfileblobs call
Summary:
## High level goal

This stack aims to add a way to upload commits directly using the bonsai format via edenapi, instead of using the hg format and converting on server.

The reason this is necessary is that snapshots will be uploaded on bonsai format directly, as hg format doesn't support them. So this is a stepping stone to do that, first being implemented on commit cloud upload, as that code already uses eden api, and later will be used by the snapshotting commands.

## This diff

Modifies `uploadfileblobs_py` API method so that it returns the indexed UploadToken's. This will be used on the client code to get the content ids from the upload files, which are necessary to specify when storing the commit in Bonsai format. This is calculated in Rust when uploading the files, and we reuse the result so it doesn't need to be calculated again.

It reuses the `UploadHgFilenodeResponse` struct, which has the exact same format it needs. That is a bit ugly, and its refactored in D29878626.

Reviewed By: liubov-dmitrieva

Differential Revision: D29879617

fbshipit-source-id: 4e7bda1e1160da11c83f43002530fd1aba08d46d
2021-07-27 05:46:41 -07:00
Yan Soares Couto
793b2d85b1 Add bonsai upload to eden api py ext
Summary:
## High level goal

This stack aims to add a way to upload commits directly using the bonsai format via edenapi, instead of using the hg format and converting on server.

The reason this is necessary is that snapshots will be uploaded on bonsai format directly, as hg format doesn't support them. So this is a stepping stone to do that, first being implemented on commit cloud upload, as that code already uses eden api, and later will be used by the snapshotting commands.

## This diff

This diff adds the new endpoint to the API that can be acessed via python code, and in turn calls the api implemented on the last diff.

Reviewed By: liubov-dmitrieva

Differential Revision: D29849962

fbshipit-source-id: 5a2a674aef1edd3b0d95cb2b45b02ef9c20aca48
2021-07-27 05:46:41 -07:00
Yan Soares Couto
db66a87ab0 Add bonsai upload to EdenApi trait
Summary:
## High level goal

This stack aims to add a way to upload commits directly using the bonsai format via edenapi, instead of using the hg format and converting on server.

The reason this is necessary is that snapshots will be uploaded on bonsai format directly, as hg format doesn't support them. So this is a stepping stone to do that, first being implemented on commit cloud upload, as that code already uses eden api, and later will be used by the snapshotting commands.

## This diff

This diff adds a trait method to call the endpoint added on D29849963.

It's mostly boilerplate, calling the correct endpoint, converting types from/to wire.

Reviewed By: liubov-dmitrieva

Differential Revision: D29849965

fbshipit-source-id: 4a821e965fe4319fddd8e13b13ed4de5b7f86e93
2021-07-27 05:46:41 -07:00
Yan Soares Couto
b6548a10cb Add upload bonsai changeset endpoint
Summary:
## High level goal

This stack aims to add a way to upload commits directly using the bonsai format via edenapi, instead of using the hg format and converting on server.

The reason this is necessary is that snapshots will be uploaded on bonsai format directly, as hg format doesn't support them. So this is a stepping stone to do that, first being implemented on commit cloud upload, as that code already uses eden api, and later will be used by the snapshotting commands.

## This diff

This diff creates an endpoint on eden api which uploads a commit using the bonsai format.

It also adds all the necessary types to represent a bonsai commit (basically the same as hg commit, but no manifests, and a bit more detail on how each file changed) via the wire, and related boilerplate.

Reviewed By: liubov-dmitrieva

Differential Revision: D29849963

fbshipit-source-id: 2ff44d53874449ae4373a0135a60ead40c541309
2021-07-27 05:46:40 -07:00
Yan Soares Couto
8586ae1077 Add upload_fileblobs function
Summary:
## High level goal

This stack aims to add a way to upload commits directly using the bonsai format via edenapi, instead of using the hg format and converting on server.

The reason this is necessary is that snapshots will be uploaded on bonsai format directly, as hg format doesn't support them. So this is a stepping stone to do that, first being implemented on commit cloud upload, as that code already uses eden api, and later will be used by the snapshotting commands.

## This diff

Uploads file contents without uploading filenodes. Will be used for uploading a
commit in bonsair format instead of mercurial format via EdenAPI.

This is basically the same method as before D29549091 (d327996144).

Reviewed By: liubov-dmitrieva

Differential Revision: D29799484

fbshipit-source-id: 136c058ebcd814f39c5b903f5d8bfef7ff6005dc
2021-07-27 05:46:40 -07:00
Stanislau Hlebik
30395f41e2 mononoke: print latest error when reading megarepo configs
Summary: It makes it easier to understand what went wrong

Reviewed By: krallin

Differential Revision: D29894836

fbshipit-source-id: 1bc759067350b823d388fcab9a8cee41da4423af
2021-07-27 02:13:09 -07:00
Stanislau Hlebik
5dcc30a4b1 mononoke: fix megarepo logging to use correct method name
Reviewed By: krallin

Differential Revision: D29894709

fbshipit-source-id: 3f33df57cd0c32b40eb55dc02ef3820138a423d0
2021-07-27 02:13:09 -07:00
svcscm svcscm
92edce61fd Updating submodules
Summary:
GitHub commits:

d5ca2b74cf
847753dc60
985b76f6d6
dd0e33ba7d

Reviewed By: yns88

fbshipit-source-id: 77a934c0d86eae2c208251aa2d283b98c974bdea
2021-07-27 00:39:44 -07:00
svcscm svcscm
cc5d94445e Updating submodules
Summary:
GitHub commits:

56a0fb11cc
bc3560be40

Reviewed By: yns88

fbshipit-source-id: dc4ddf3bfcb5903e5fcc206f306c45bde611740b
2021-07-27 00:12:22 -07:00
svcscm svcscm
944f3a1a90 Updating submodules
Summary:
GitHub commits:

027b87bbb8
2015a1ad0a
bf50555417
19335a99bc

Reviewed By: yns88

fbshipit-source-id: f10ac443cfcc7bf20ef132ba70be7ef033b908a1
2021-07-26 21:36:39 -07:00
svcscm svcscm
023a353093 Updating submodules
Summary:
GitHub commits:

bd413314c8
7c79000b9e
f53215180e
3728ccbb98
bbbe57e9ec
b5c323cbdf

Reviewed By: yns88

fbshipit-source-id: 9d0d003fb5751a787a5f295ae3c41b8418b06400
2021-07-26 20:51:32 -07:00
Genevieve Helsel
5a34dd506f perserve missing env var edenfs environment
Reviewed By: kmancini

Differential Revision: D29802351

fbshipit-source-id: 861a2a160721e4ded01dc120c9f42bccdd839fb8
2021-07-26 20:39:28 -07:00
svcscm svcscm
ef57584f12 Updating submodules
Summary:
GitHub commits:

ff539ea515
18fc2162de
83d9b5c5a1
99decc39f6
e3064e213b
c327423342
178a0d6606
82c9b0fa55
711844b0f9

Reviewed By: yns88

fbshipit-source-id: dcec4baa3c8fce4ea7cc7c09f184d5d3a17ec7b9
2021-07-26 20:15:20 -07:00
Xavier Deguillard
dd29533b60 test: verify that EdenFS can be started in the fsck tests
Summary:
If for some reason EdenFS cannot be started, we shouldn't attempt to run the
fsck tests as these would always fail.

Reviewed By: genevievehelsel

Differential Revision: D29918436

fbshipit-source-id: 6e4a01a747157427e5c1028084e32cef8066c96a
2021-07-26 20:07:19 -07:00
svcscm svcscm
5ee3b31948 Updating submodules
Summary:
GitHub commits:

b7b9e3a826
e638beedc4
6db5af8e01
c4c26a22db
d7440b680b
3b522eb714
b22a1bd7fb
ce5a4ca493
11a49cf846
41da7acc06

Reviewed By: yns88

fbshipit-source-id: 5c8f47a48a5cc331d82cd521ca1fb14be398c2dd
2021-07-26 19:36:43 -07:00
Zhengchao Liu
fbe154d28e report fsck progress correctly
Summary: This affects all platforms but more noticeable on Mac that tons of 100% printed (e.g. P409794954), probably due to some weirdness with cursor.

Reviewed By: fanzeyi

Differential Revision: D29922276

fbshipit-source-id: 987f6b9ef5a8a4ab738aa6edbd617184bbcb2d1c
2021-07-26 19:25:05 -07:00