Commit Graph

67734 Commits

Author SHA1 Message Date
Carolyn Busch
26add70c70 add http prefix lookup to pull
Summary: Integrate http hash prefix lookup into the pull operation. One unfortunate change here is that if the prefix is ambiguous, we're only able to output possible full hashes as suggestions. Previously we'd also print commit log information. To retain that we'd need to add an error option to the response and have the server send back an error message with the log information or send another request to download the extra information.

Reviewed By: andll

Differential Revision: D30716050

fbshipit-source-id: 33f8bc38b0bfe7fce4ec11cd8def7feda3b3d3da
2021-09-08 16:05:21 -07:00
Carolyn Busch
dee2a40e35 add prefix lookup python bindings
Summary: Add hash prefix lookup to python bindings.

Reviewed By: andll

Differential Revision: D30716052

fbshipit-source-id: 00c1a20b1bf924c5eb4596fefe15915bbc7ce55c
2021-09-08 16:05:21 -07:00
Carolyn Busch
fede26c2fc add hash prefix lookup to eagerrepo
Summary: Add implementation for hash prefix lookup to eagerrepo.

Reviewed By: andll

Differential Revision: D30716552

fbshipit-source-id: 89e6517b504a7571d03ef50692e13c9fcfabc485
2021-09-08 16:05:21 -07:00
Carolyn Busch
820b90c69d add hash prefix lookup to client
Summary: Add hash prefix lookup to the edenapi client.

Reviewed By: andll

Differential Revision: D30716051

fbshipit-source-id: 26dd0ecbfc836c9799c46c5a38aa9570bdb902db
2021-09-08 16:05:21 -07:00
svcscm svcscm
45b393b3fe Updating submodules
Summary:
GitHub commits:

e5fbb17e37
e03a09ffb6
9a4ae6cc13
7213de6729

Reviewed By: jurajh-fb

fbshipit-source-id: 9c312ce817ecec87ef1e04773d48fe4657e20702
2021-09-08 14:48:21 -07:00
svcscm svcscm
e13e220550 Updating submodules
Summary:
GitHub commits:

dfbe1579f8
fcafe7e3eb
d52cb4b3c7
74904a4920
dd092c2d11
f8727a517a
3a5fad73fe

Reviewed By: jurajh-fb

fbshipit-source-id: 6ea18989e3799c363fec4724e1fa0002aa2a55ed
2021-09-08 14:25:01 -07:00
svcscm svcscm
63bc7656c4 Updating submodules
Summary:
GitHub commits:

e205768fe1
e36287f75f
391f6540f8
07f6341b54
348c31b37f
6103eeaf65

Reviewed By: jurajh-fb

fbshipit-source-id: a09c8bb3d45f1f54dae5a420d7546b45fbc8a498
2021-09-08 13:52:34 -07:00
svcscm svcscm
f91f455340 Updating submodules
Summary:
GitHub commits:

a2661d802f
10a66e79fa
b8a595adc0
12920d653b
91b95cadee
0753785c6c
befa13ddaf
212c7ebb22
c20a28703f
48cbecc834
8b2c26e1f9

Reviewed By: jurajh-fb

fbshipit-source-id: c0834a802f573b86e0e6fdb21722ea7a583a3691
2021-09-08 13:08:41 -07:00
svcscm svcscm
e993f066ae Updating submodules
Summary:
GitHub commits:

2f6fd09312
848b6dc8b1
d90160cdea
298140eb95
905695fb5e
48201aa9cf
a47d5b45ea
1dbeffa6fd
d8f508c386
2873dc81ac

Reviewed By: jurajh-fb

fbshipit-source-id: 16a677660a99352be573c02ee4b8edd6895d687c
2021-09-08 12:23:45 -07:00
Adam Simpkins
e85df59bf6 remove some unused EDEN_HAVE_* config definitions
Summary:
Remove some `EDEN_HAVE_*` config definitions that are no longer referenced
anywhere.

Reviewed By: xavierd

Differential Revision: D30797847

fbshipit-source-id: e2d9e0049cfd984c0814f1ac61ffddb1185e9904
2021-09-08 12:18:25 -07:00
svcscm svcscm
48b9835fff Updating submodules
Summary:
GitHub commits:

91b962e336

Reviewed By: jurajh-fb

fbshipit-source-id: 56dedf663643586cf8d9277942e829e425fa45f5
2021-09-08 12:00:15 -07:00
Zhengchao Liu
b93c23d25c assign FS events to sampling groups
Summary:
As title, sampling group determines the sampling rate at which an FS event is logged. The higher the sampling group the more heavily its events are dropped, thus, more frequent events are assigned to the higher sampling groups.
I ran activity recorders on a few workflows, buck build, getdepts, and vscode editing and came up with the following assignment. Note that only a subset of events are assigned to a sampling group (so events not included will not be logged) as we just start to tune the sampling rates and these events should be good for a start.
```
Group1 (1/10)
FUSE_MKDIR
FUSE_RMDIR
FUSE_CREATE
FUSE_RENAME

Group2 (1/100)
FUSE_WRITE
FUSE_LISTXATTR
FUSE_SETATTR

Group3 (1/1000)
FUSE_GETXATTR
FUSE_GETATTR
FUSE_READ
FUSE_READDIR

Group4 (1/10000)
FUSE_LOOKUP
```

For reference, here are the counts of FS events of a cold buck build. The frequencies of other workflows are similar.
```
FUSE_LOOKUP 60.09 98733
FUSE_READ 12.80 21037
FUSE_GETXATTR 8.91 14645
FUSE_FORGET 8.01 13162
FUSE_GETATTR 5.55 9116
FUSE_READDIR 3.21 5270
FUSE_LISTXATTR 0.59 969
FUSE_READLINK 0.54 892
FUSE_STATFS 0.21 338
FUSE_WRITE 0.04 64
FUSE_CREATE 0.02 28
FUSE_RENAME 0.01 23
FUSE_SETATTR 0.01 13
FUSE_UNLINK 0.00 6
FUSE_RMDIR 0.00 1
FUSE_MKDIR 0.00 1
FUSE_MKNOD 0.00 1
```

Reviewed By: xavierd

Differential Revision: D30770533

fbshipit-source-id: 90be881ddbeba2113bbb190bdb1e300a68f500a0
2021-09-08 11:40:22 -07:00
Arun Kulshreshtha
354fe9e111 edenapi_service: automatically compress EdenApiHandler responses
Summary: The new `EdenApiHandler` framework for defining EdenAPI endpoints provides a common place where responses are encoded. This diff adds automatic content compression at this point, using the received `Accept-Encoding` header from the request to determine what compression, if any, should be used. As a result, all endpoints that implement `EdenApiHandler` will get compression for free.

Reviewed By: yancouto

Differential Revision: D30553242

fbshipit-source-id: 9eda54cbf81dd1e03abec769744c96b16fad64ea
2021-09-08 11:33:19 -07:00
Mark Juggurnauth-Thomas
70e4650d9c add logging of client information
Summary:
It can sometimes be difficult to work out from the logging which commit cloud
requests came from which client repo.  Previously you could often infer it from
the client identities, however if the request is proxied, the originating hostname can be
lost, and it still doesn't handle the case where the host contains multiple
repos.

This diff adds a new `ClientInfo` struct, which is included by the client
on every `get_references` and `update_references` request.  This is logged
by the service, allowing us to correlate which client it came from, and what
workspace version the client had at that time.

Reviewed By: StanislavGlebik

Differential Revision: D30697839

fbshipit-source-id: 8fe2e03f0be2f443f8ae1814f083c04ba5d1805e
2021-09-08 11:27:37 -07:00
Andrey Chursin
ec126c6bc3 eden_api: add retry to fast forward pull
Reviewed By: yancouto

Differential Revision: D30739638

fbshipit-source-id: 3fa3a23c463f1e6b5563bb710724443a39655416
2021-09-08 11:07:47 -07:00
Andrey Chursin
da3ee4a723 eden_api: remove callback from clone_data
Summary: It was not used and hard to implement retry with

Reviewed By: yancouto

Differential Revision: D30716647

fbshipit-source-id: a90b629f7758486c9e526d1eaf3fd29da305f2e7
2021-09-08 11:07:47 -07:00
Andrey Chursin
37992d4d8a edenapi: retry clone_data errors
Reviewed By: yancouto

Differential Revision: D30716452

fbshipit-source-id: 9d0aa42c18322cc755a4d6acc1caacfd624229a0
2021-09-08 11:07:46 -07:00
svcscm svcscm
2eee59bf89 Updating submodules
Summary:
GitHub commits:

51c588baad
f3cda9d819
853c977389
5874aff6f5
a7f7fcdf5e

Reviewed By: jurajh-fb

fbshipit-source-id: 69f1351a52493514fc6c848f510cf87520b8ae58
2021-09-08 11:01:27 -07:00
svcscm svcscm
dfe2307202 Updating submodules
Summary:
GitHub commits:

404d35e554
8054ca8f9d
7784765b18
13b5abe863
7afb4ece08
093ee17ce3
d16fecb553

Reviewed By: jurajh-fb

fbshipit-source-id: de5a85856bf3415ddaf0275581c5835982aaf729
2021-09-08 10:27:13 -07:00
svcscm svcscm
ed32c91900 Updating submodules
Summary:
GitHub commits:

ca91679104
88d53059cc
c0d6a3d641
e7de0bef98
6d622bb801
21c103d030
48a209010b
3653131685
ef73f9c448
4ad09bdca6

Reviewed By: jurajh-fb

fbshipit-source-id: a52f84db24118988357817a33e5cadaa77d3f270
2021-09-08 09:57:19 -07:00
Lincoln Bergeson
0fc4c158a4 Add dmidecode crate to Cargo.toml
Summary:
As discussed in D30543524 et al, we plan to use a third-party library
for parsing dmidecode data rather than rolling our own.

https://docs.rs/dmidecode/0.7.0/dmidecode/index.html
https://github.com/jcreekmore/dmidecode

Reviewed By: alastor-erinyes

Differential Revision: D30808298

fbshipit-source-id: 74c7ed9b9bb20de76fe7a4ff26e71d2e0c329c0b
2021-09-08 09:38:12 -07:00
svcscm svcscm
29e6e4086e Updating submodules
Summary:
GitHub commits:

6b4ebc51da
c5fd04b46b
45e0ec1c98
5cad3cbc9c
19a7d62713
f4a4110af3
32cbc15cb7
7e021f4dbb
fef5d618bd
c223869119

Reviewed By: jurajh-fb

fbshipit-source-id: 9f1bb6e15f6aab45df03c67943a73d860f76fae7
2021-09-08 09:27:10 -07:00
svcscm svcscm
3191d71e56 Updating submodules
Summary:
GitHub commits:

8ee373cf8d
fde782ca91

Reviewed By: jurajh-fb

fbshipit-source-id: 30824c1c47a9cd68dcc629d97dbc59c429bee644
2021-09-08 09:06:17 -07:00
Durham Goode
94bc5266f2 edenfs-client: fix make by upgrading tokio
Summary:
D30704344 (5704ad51f6) upgraded tokio for the buck build. We need to do the same for
the non-buck build. This unbreaks hgbuild.

Also clean up some compiler warnings while I'm here.

Reviewed By: fanzeyi

Differential Revision: D30798315

fbshipit-source-id: 47005c7674d87196aab42b3ddf2194acced3bb6c
2021-09-08 08:52:30 -07:00
Stanislau Hlebik
d5e2624fbb mononoke: add backfill derived data logging
Summary:
We have two mode of deriving data: the "normal" way and using backfilling.
Backfilling is different from "normal" mode in that it derives a few commits at
once, and saves them all to blobstore at once.

Backfilling mode seemed to have helped us when we need to derive a lot of data
(e.g. backfill the whole repo). But

a) We don't know how much it helps, and we don't know if it depends on the repo
b) We don't know if it helps when we derive data for newly landed commits (i.e.
we use "backfill" mode in derived data tailer to derive data for latest public
commits)

So this diff adds a bit of logging to a separate scuba table so that we can get
an idea about things like:
1) How long does it take to derive a stack of commits?
2) Where do we spend most of the time (e.g. deriving, saving the blobs, saving
the mapping).

Reviewed By: mitrandir77

Differential Revision: D30805504

fbshipit-source-id: d82c905cafa87459990d74769a0dddcc91fac174
2021-09-08 08:09:32 -07:00
Stanislau Hlebik
3c66a0f1a8 mononoke: use derived_data_utils in simulated_repo/benchmark
Summary:
It allows us to do 3 things:
1) Remove derive function
2) Add support for backfill mode so that we can compare perf with and without
it
3) Use all derived data types, and not just 3 of them

Reviewed By: krallin

Differential Revision: D30804258

fbshipit-source-id: 604723a3d845a60cfd94b4e090a121f5b5191536
2021-09-08 07:05:47 -07:00
Stanislau Hlebik
4e76c70677 mononoke: add split_commit command
Summary: This command can be useful to split a large bonsai commit into a smaller one

Reviewed By: mitrandir77

Differential Revision: D30776789

fbshipit-source-id: dc56d7c51eb0e9e0988dcba868c6008ebf488927
2021-09-08 04:57:44 -07:00
svcscm svcscm
ba1809dc01 Updating submodules
Summary:
GitHub commits:

06acc24a44
896aca11cb
f5adff19a3
fa91872c8a

Reviewed By: jurajh-fb

fbshipit-source-id: 84290a3fbc49202abac77ae934413bb6d8982ca5
2021-09-08 04:48:09 -07:00
svcscm svcscm
35fc2ea2ee Updating submodules
Summary:
GitHub commits:

869dd86202

Reviewed By: jurajh-fb

fbshipit-source-id: a943223261f03373aec8528ee73dad4d92da2168
2021-09-08 04:07:54 -07:00
CodemodService Bot
0c85a38fc1 Daily common/rust/cargo_from_buck/bin/autocargo
Reviewed By: krallin

Differential Revision: D30802656

fbshipit-source-id: 32e9e908571daf7ee111b07d47b5314ec632e7df
2021-09-08 03:36:02 -07:00
svcscm svcscm
82d43eeaa5 Updating submodules
Summary:
GitHub commits:

e753d800f5
8e8de7525a
425717ee9e
3750ef50de

Reviewed By: jurajh-fb

fbshipit-source-id: 6c470b975d46da319cc1bc8fde0cf2091dcba733
2021-09-08 01:57:10 -07:00
svcscm svcscm
a5f35172f4 Updating submodules
Summary:
GitHub commits:

756eaf14f5
07b6037888
3649446a24
9c13f8617b
9edce895e5
57a1b3e094

Reviewed By: jurajh-fb

fbshipit-source-id: ebbc2361b688c19c437cc09c15fe0ef1587c77ba
2021-09-08 01:35:10 -07:00
svcscm svcscm
4a1fe63ef1 Updating submodules
Summary:
GitHub commits:

a6b1bae6fe
da3534dfb3
d75ec787f8
529074b18f
7723fe2b36
53b1859f40
5fbc9f04b2
7918a7be81
59af42d09e

Reviewed By: jurajh-fb

fbshipit-source-id: d679a208c43725be0b0b7236aeecc089c2edf143
2021-09-08 01:05:15 -07:00
svcscm svcscm
aa4e2365fa Updating submodules
Summary:
GitHub commits:

d64d12eafd
de4db9f2ce
159f4c3dde
c67edbe178
4afb177ee8
9d29239230
a7fad26f8a
c415bf8591
a82e1b4877
2d55900836

Reviewed By: jurajh-fb

fbshipit-source-id: 4b0f5f990fa8c7e8100f267607d9f957e2500953
2021-09-08 00:12:24 -07:00
svcscm svcscm
f08786dba3 Updating submodules
Summary:
GitHub commits:

8ecee58a53

Reviewed By: jurajh-fb

fbshipit-source-id: 7d8832f112b0c65879355ea4943e4a3ce1e27936
2021-09-07 23:32:25 -07:00
Stanislau Hlebik
a8a3f79d90 mononoke: make it possible to override blobstore get/put distribution from cmd line
Summary: It's nice for experimenation

Reviewed By: mitrandir77

Differential Revision: D30782023

fbshipit-source-id: 7449a7fd8b56b18aa0635323ad7ca8137dc49279
2021-09-07 23:25:31 -07:00
Stanislau Hlebik
8b79e736e1 mononoke: initialize blobstore options and mysql for derived data benchmark
Summary:
While we don't really need it, creation mononoke matches fail if they are not
present. Let's just enable it here - it's not a bad thing to initialize them

Reviewed By: mitrandir77

Differential Revision: D30780463

fbshipit-source-id: c4199c6711ae7bd9641e9f51643b94d020051dbd
2021-09-07 23:25:31 -07:00
Arun Kulshreshtha
20893ba125 edenapi: factor out config field access pattern
Summary: The code for accessing config fields had a lot of repetitive boilerplate. Let's move that to a helper function.

Reviewed By: andll

Differential Revision: D30785932

fbshipit-source-id: fb4d47337a27bd6e75eeb38d5a9d1de5b1fac6ce
2021-09-07 21:35:27 -07:00
svcscm svcscm
7ea581e4ff Updating submodules
Summary:
GitHub commits:

ee957f4474
bbd5acfa46
21af7a4262
234163d63b

Reviewed By: jurajh-fb

fbshipit-source-id: 2afe43f65211c0187cbc0cb3e210e9e3e3149308
2021-09-07 21:20:46 -07:00
CodemodService Bot
b82f28cf1a Daily arc lint --take BLACK
Reviewed By: zertosh

Differential Revision: D30799935

fbshipit-source-id: 5d98595f2706b1ff37a1918cf127888dbe6d9314
2021-09-07 21:09:42 -07:00
svcscm svcscm
ddf3c81f04 Updating submodules
Summary:
GitHub commits:

fde113a7c0
6c4a1a613d
93f1dcb5ee
01518b4f86
c748254240
f27360ac78
e0fb5d4325
d4130fceca

Reviewed By: jurajh-fb

fbshipit-source-id: 4e9d52d9e6632d5a43b3d62c95a936ca97b363a5
2021-09-07 20:57:11 -07:00
svcscm svcscm
b5590c96e2 Updating submodules
Summary:
GitHub commits:

9ef48d61dd
3ff0554136
7c9b8ec408
0947468e11
8a136d1b0f
7f5b4a0eff
a0e43bc887
b7e55951bc
3b602cd207

Reviewed By: jurajh-fb

fbshipit-source-id: 09c2002822ddf54e7562e8309630014cf39501f7
2021-09-07 20:29:58 -07:00
Carolyn Busch
f8e83ab129 add graph endpoint
Summary: Implement serverside graph endpoint for fetching the mapping of commits to commit parents for the missing segment of a commit graph. This implementation uses the find_commits_to_send method from the get_bundle_response library. What may be missing from pull and the old bundle protocol now is mutation markers.

Reviewed By: yancouto

Differential Revision: D30485672

fbshipit-source-id: ba3a30d9e482d60831cbe7a8e89f20dab947d9a1
2021-09-07 19:53:04 -07:00
Carolyn Busch
0b2f5849cb remove redundant hashset conversion
Summary:
Since the find_commits_to_send method was added, common is already a
hashset not a vector, so it doesn't needed to be converted to a hashset.

Reviewed By: quark-zju

Differential Revision: D30622028

fbshipit-source-id: e5d1b6c60115d13c906b25142043652ba9e89d70
2021-09-07 19:53:03 -07:00
Carolyn Busch
0ffe94b9f0 add commit graph to make_req & read_res
Summary: Add commit graph request and response to edenapi make_req and read_res utilities.

Reviewed By: kulshrax

Differential Revision: D30485673

fbshipit-source-id: ddd469381b4d824e202e1d3370ff1b452d531b8c
2021-09-07 19:53:03 -07:00
Carolyn Busch
89846ede85 add commit graph types
Summary: Add request and response types for commit graph edenapi endpoint.

Reviewed By: kulshrax

Differential Revision: D30485671

fbshipit-source-id: 9a756543ac69fdc5618a4065fb6cfd0bda8d3d64
2021-09-07 19:53:03 -07:00
svcscm svcscm
409949d2f1 Updating submodules
Summary:
GitHub commits:

e5e6c676c3
837a16f9a0
d2ddb36a2d
a51245971f
4bd7f9f34c
c42fca4502
e8241cd63e
9c7b6d369e
cd34a8d52b
5b4573fc94
92ef864415

Reviewed By: jurajh-fb

fbshipit-source-id: 5833fe9038d02cac4e064fea0d2923c07fb41c3f
2021-09-07 19:46:28 -07:00
svcscm svcscm
bb8321abf3 Updating submodules
Summary:
GitHub commits:

d50e814faf
4e9476067f
45212586e3
58f83287a7
0f632df807
9308ff366c
8083a5f61c
945a541eb6
9aa14de5f0
7aa7b8a59a
3b8d92474f
8ca99e8484
c9c0ccf62b

Reviewed By: jurajh-fb

fbshipit-source-id: 235741f6efbcab69069d7626a1e90138b8165407
2021-09-07 19:21:40 -07:00
Adam Simpkins
11c086abe0 update the branch name for the fb303-source manifest
Summary:
The primary branch in the fb303 github repository was renamed from `master` to
`main`.  Update the `fb303-source` manifest to reflect this.

The main `fb303` manifest was already updated in D30700180 (d84d56c04c).  The
`fb303-source` manifest is a separate manifest that only fetches the fb303
source code without building it.  This is only used by the `eden_scm`
manifest.

Reviewed By: fanzeyi

Differential Revision: D30794650

fbshipit-source-id: 0e7790f8ceb737ce2f26ab213e1f0f94c5b3f045
2021-09-07 18:58:23 -07:00
svcscm svcscm
34af948026 Updating submodules
Summary:
GitHub commits:

9151aa177a
601114721e
22c2a8960f
30a7887d85
c44b07665e

Reviewed By: jurajh-fb

fbshipit-source-id: 1e812cd6a19e86efba1ce0f99ceede57b93ed963
2021-09-07 18:19:45 -07:00