Commit Graph

69513 Commits

Author SHA1 Message Date
svcscm svcscm
1c9ce9ad68 Updating submodules
Summary:
GitHub commits:

da83f08417
21368155a0
c2ba33fd26
11f15eea38
6968e50d9c
7e1183c1f1

Reviewed By: bigfootjon

fbshipit-source-id: 64970f356867b389f8877e2d8155a8987c47a48d
2021-11-15 20:16:35 -08:00
svcscm svcscm
03f7b57043 Updating submodules
Summary:
GitHub commits:

558d8e6596
9028ea6eca
5220785c3f
d4d3d99ca7
ac5b7a2ccf
3a719e2f3c

Reviewed By: bigfootjon

fbshipit-source-id: b99621da537b616fdf85f530c2e20a574e2221d0
2021-11-15 19:40:51 -08:00
svcscm svcscm
3e90583fbf Updating submodules
Summary:
GitHub commits:

aa5be2eb3d
79cbe63f2b
6c61ba754a
0b70be8669
a2131ef1b2
c53de7bae8

Reviewed By: bigfootjon

fbshipit-source-id: db1b114e860b2bf34728bc22ef061e29093831ed
2021-11-15 19:11:13 -08:00
svcscm svcscm
eb05b754f9 Updating submodules
Summary:
GitHub commits:

b85fc24376
c67c5bcbbf
19c987526b
8754996906
8ea6d74c55
2383e446b2
84bc0d9bed
aba48ea0ae
bdf6711985
6698fa5bcd
4ce9fcc52d
a314e78ed3
1852ec875a

Reviewed By: bigfootjon

fbshipit-source-id: e9af37662d7b3b3ad7991b31eec904536588866a
2021-11-15 18:45:16 -08:00
svcscm svcscm
6296f7c19f Updating submodules
Summary:
GitHub commits:

3ee6d775cd
2d900b3af5
5e33177f18
eb2826db53
70d51aea02
f1b47c9e36
b3598582f0
eb1f2592b1
efc49e8e29
68cbc12bca
840eb85650

Reviewed By: bigfootjon

fbshipit-source-id: 7b670b4bff02a611746e3d51d1fc67d4219ccd66
2021-11-15 17:12:04 -08:00
svcscm svcscm
e9bb12ec8b Updating submodules
Summary:
GitHub commits:

6b58b9e818
ace5804762
0a1f11f31a

Reviewed By: bigfootjon

fbshipit-source-id: 6d6ea54b5c477f844ffea401f1664ac32fd47bac
2021-11-15 16:07:47 -08:00
Andrii Grynenko
1d19898163 Remove MicroLock::init()
Summary: Have constructor do init() instead. I can't think of any valid reason to have this API other than confusing everyone who decides to use it.

Reviewed By: praihan

Differential Revision: D32302228

fbshipit-source-id: 136e0d2919291acd60be953337309cd006bd674b
2021-11-15 14:20:38 -08:00
Yan Soares Couto
f961f05645 Bubbles should also work in repo_changeset_pair
Summary: I had previously change `repo_changeset` method to take bubble into account, but forgot to also change `repo_changeset_pair`. This should fix most of the usages of snapshots in SCS.

Reviewed By: markbt

Differential Revision: D32396469

fbshipit-source-id: 5760974df92ec7e9049cf51164a006f9198015b5
2021-11-15 14:18:01 -08:00
Yan Soares Couto
ce2412934f No need to specify bubble in scsc command
Summary: Snapshots already have a bit of `scsc` support, but you needed to specify `--bubble-id` argument, which is not really good as that is not visible to users. This diff makes it possible to query a snapshot simply by using `--snapshot-id`. The bubble can still be provided to make the query faster.

Reviewed By: markbt

Differential Revision: D32395199

fbshipit-source-id: 8f89ae86b56d3789a5cbf69b6a4d98979e79ec4d
2021-11-15 14:18:01 -08:00
Andrey Chursin
3051184ce0 do not recompute metadata if using aux data from hg
Summary: Sha1 computation show up in many profilers, we can skip this step entirely if we are using metadata from hg.

Reviewed By: xavierd

Differential Revision: D32396312

fbshipit-source-id: 928f8458a91bba4d18da6730d3fc244eb5499489
2021-11-15 13:56:47 -08:00
Andrey Chursin
74115cda20 read aux data from hg cache
Summary:
This diff allows eden to fetch blob metadata from hg cache.
Combined with previous diffs in stack, it allows to entirely skip scs metadata import, saving whole additional network round trip for operations like ls -lr or parsing buck files.

This diff adds hg:use-aux-metadata config that controls this behaviour.

When config is set, we instruct hg backing store to fetch file aux metadata along with get tree request.
Later when blob metadata is requested we are checking hg cache to get the metadata.

For trees that were imported prior to this config we fallback to reading scs metadata cache.

In terms of performance effect, this diff reduces traffic on laptops during listing/stating files significantly, because x2p client sends significant amount of extra data.

It does not improve end to end speed significantly though, because scs queries run in parallel with tree request.

Before
```
ls -lR fbsource.eden/fbcode/admarket  0.97s user 8.02s system 3% cpu 4:47.42 total
Traffic usage: 77Mb 25Mb down, 52Mb up
```
After
```
ls -lR fbsource.eden/fbcode/admarket  0.98s user 8.19s system 3% cpu 4:33.65 total
Traffic usage: 40 Mb, 22Mb down, 18Mb up
```

On laptops with worse network this likely to improve speed too, because some networks have much lower uplink latency

Additionally, this allows to efficiently use metadata on windows (where previously entire blob needed to be downloaded in order to calculate blob size)

Reviewed By: xavierd

Differential Revision: D32371710

fbshipit-source-id: 8ac962ea0136bc3bc4e30d0bf31692e65c35c43f
2021-11-15 13:56:46 -08:00
Xavier Deguillard
438d4a1a4c immediatefuture: add makeImmediateFuture that takes an exception_wrapper
Summary:
When unwrapping Try it is convenient to be able to build an ImmediateFuture
directly from the .exception() call.

Reviewed By: chadaustin

Differential Revision: D32333774

fbshipit-source-id: 0066ca7eddc4a57010f60974c234b57691b73d77
2021-11-15 13:52:59 -08:00
Xavier Deguillard
dda17f055f immediatefuture: fully qualify collectAll calls
Summary:
For some reason, in some cases the compiler wants to use the folly::collectAll
function instead of the ImmediateFuture one. Adding the namespace solves this
issue.

Reviewed By: chadaustin

Differential Revision: D32329807

fbshipit-source-id: 22ee9b20cf33e5718c9bb0270dd93f3f857b0967
2021-11-15 13:52:59 -08:00
Xavier Deguillard
c5c587a29b integration: speedup hg test by 2x
Summary:
In every test setup, writing a file to the repository will always call `hg add`
in order to this newly added file to be added in subsequent `hg commit`. Since
`hg add` can be very expensive (in particular on Windows), some tests are
spending most of their time calling `hg add` instead of running the body of the
test. As an easy way to avoid this, let's stage the added files in memory
first, and then call `hg add` once just before `hg commit`.

Reviewed By: genevievehelsel

Differential Revision: D32333775

fbshipit-source-id: 8cc6cfad7ec73f6f0c50d7d1e6affa6cdd828e2f
2021-11-15 13:52:59 -08:00
Jun Wu
f2c3496b91 drawdag: use a single transaction
Summary:
This reduces disk flushes, and is more efficient.

The main motivation is to avoid a situation where each added commit becomes
part of `visibleheads`. For example, drawdag:

  C
  |
  B
  |
  A

would previously have visibleheads change from `A` to `B` to `C`, but now
`visibleheads` is only `C` without having the `B` or `A` state.

Reviewed By: singhsrb

Differential Revision: D32436069

fbshipit-source-id: 30274b1158c5eb796bc24101dc892c334c0f0287
2021-11-15 13:22:01 -08:00
svcscm svcscm
e14e88c239 Updating submodules
Summary:
GitHub commits:

fa470c27be
74815ea8fd
46521a024f
0e2f483fc1
3221e92550

Reviewed By: bigfootjon

fbshipit-source-id: 8fe1839490f2a95b44e9654b781487c1c4e25db4
2021-11-15 12:20:46 -08:00
CodemodService Bot
2acfb2a272 ThriftSetter_eden
Reviewed By: chadaustin

Differential Revision: D32312265

fbshipit-source-id: e365f14d5951b1d57dbd255fdfe0413c43eafdff
2021-11-15 12:13:07 -08:00
Durham Goode
02f1298d1d sparse: fix crash in Eden repos
Summary:
The new sparse profile config logic was triggering during an Eden code
path, where sparse doesn't exist. This caused a crash. Let's check for sparse
before trigging the path.

This only occured if there was another exception during checkout.

Reviewed By: quark-zju

Differential Revision: D32436881

fbshipit-source-id: 6d5da888e4f8a62a05a390c7e87bbc3061356fc2
2021-11-15 12:02:32 -08:00
Muir Manders
9db0d4fcb7 runlog: disable runlog when running as root
Summary: The hg runlog causes every hg command to write out a runlog file (and create the runlog directory if it doesn't exist). If hg is run as root this can cause permission issues for subsequent hg commands. To mitigate this issue, the runlog feature now disables itself on unix platforms if the process's effective user id is 0 and the .hg directory is _not_ owned by root. The presumption is that if .hg is owned by root then it is normal for hg commands to be run as root.

Reviewed By: quark-zju

Differential Revision: D32368400

fbshipit-source-id: e6cbeb37e28a414a705b7a4eb350e87e34f6faf5
2021-11-15 12:02:32 -08:00
Muir Manders
95c7795ab0 runlog: don't abort on runlog errors
Summary: Due to hard-to-predict permission issues, creating the runlog directory or writing the runlog files can fail. The runlog is not essential, so runlog failures should not abort hg commands.

Reviewed By: DurhamG

Differential Revision: D32368401

fbshipit-source-id: 6a95150c49deffb26ef11c0690ceedce6d02286e
2021-11-15 12:02:32 -08:00
Andrey Chursin
438d2259bc backingstore: add flag to backing store to store aux metadata
Summary: This is driven by eden config because other eden behavior depends on it (see next diff)

Reviewed By: quark-zju

Differential Revision: D32371709

fbshipit-source-id: de921283d3f44229909641f3bda00fe43a0822cb
2021-11-15 11:59:35 -08:00
Andrey Chursin
96e92ab884 scmstore: fetch child metadata if file aux is configured
Summary:
When file store is configured to store aux metadata, we also want to fetch child metadata when reading trees.

This only takes effect if store_aux_metadata is enabled(disabled by default).

Reviewed By: quark-zju

Differential Revision: D32371712

fbshipit-source-id: 4ad380946ecfa59a4999f4ea951228fe7c84525d
2021-11-15 11:59:35 -08:00
Andrey Chursin
a96d6249c7 backingstore: construct TreeStore with FileStore
Summary: backingstore will be requesting tree child file aux data via TreeStore, and in the future TreeStore should check for locally available file aux data first, and write fetched file aux data to cache.

Reviewed By: quark-zju

Differential Revision: D31986375

fbshipit-source-id: b12657a15665704a8e46c4128b6330aec0b9cb47
2021-11-15 11:59:35 -08:00
Andrey Chursin
d709dc51e7 scmstore: add Arc<FileStore> to TreeStore
Summary: In the future, TreeStore will need to access FileStore to read locally cached aux data and write remotely fetched aux data to cache.

Reviewed By: quark-zju

Differential Revision: D31986341

fbshipit-source-id: 4042a641e314cc192bcca31e674942bf548774f5
2021-11-15 11:59:35 -08:00
svcscm svcscm
8b4ef2c1b9 Updating submodules
Summary:
GitHub commits:

6b4bb15f33
ffde3d6fb1
9239e723ab

Reviewed By: bigfootjon

fbshipit-source-id: 4dff8593ab1e321662e973adfdb1667e6acbbf2c
2021-11-15 11:42:16 -08:00
Yan Soares Couto
d8e04c872e Fix sharding logic for time shards
Summary:
I was rolling out edenapi uploads and realised they jumped up quicker than I expected. I went to take a look, and it turns out a lot of our migrations are happening incorrectly. Not that much, though.

When generating the config, we generate a shard (a 0-99 number), and use that number for all sharding operations: percentage rollouts, timed rollouts, and group decision. The problem is it means those three migrations are always correlated.

This diff fixes that by using independent shard numbers for percentage migrations and time migrations.

Reviewed By: DurhamG

Differential Revision: D32434107

fbshipit-source-id: e5a44969aab421b9c430999c633d58f5ba19191a
2021-11-15 11:33:08 -08:00
Alex Hornby
e74a913274 mononoke: add sqlblob_gc integration test
Summary: Add a test before I change behaviour

Reviewed By: HarveyHunt

Differential Revision: D32387113

fbshipit-source-id: 049eaeed5146ea09e1444f48e9e85a91b5f30356
2021-11-15 09:42:31 -08:00
Jan Mazur
c5cd8cdbbb fix bug in long commands logging where FFI boundary expects int and gets float
Summary:
as in the title.

FFI function expects integer here: https://www.internalfb.com/code/fbsource/[23136f93e651e27f61c2146ab57a6e441e38a8ca]/fbcode/eden/scm/edenscmnative/bindings/modules/pytracing/src/lib.rs?lines=161

Reviewed By: HarveyHunt

Differential Revision: D32429041

fbshipit-source-id: e4a8e1bbeb5d08086575672fb62da34f05f1080b
2021-11-15 08:11:21 -08:00
svcscm svcscm
7a8ccd797a Updating submodules
Summary:
GitHub commits:

422e1a2fac
0abe450d23
bd97ee2da4
fd6358f188

Reviewed By: jurajh-fb

fbshipit-source-id: 61d8d65bc10daeb62ebe360cbb02c3f4b0cde74e
2021-11-15 06:49:10 -08:00
svcscm svcscm
0f6a329917 Updating submodules
Summary:
GitHub commits:

894c20a559

Reviewed By: jurajh-fb

fbshipit-source-id: 9843f898cd633907e4924b689ba59c60e9d4f47f
2021-11-15 06:17:15 -08:00
Jan Mazur
946bf1398b don't return eden-related error from low-level unix socket wrapper
Summary:
Previously it raised

``` raise TTransportException(
                    type=TTransportException.NOT_OPEN, message="eden not running"
                )
```

even if it wasn't thrift and it wasn't eden.

Now it will raise OSError (as regular sockets do), and translate it to TTransportException if it's used as a thrift socket

Reviewed By: DurhamG

Differential Revision: D32171878

fbshipit-source-id: 290368acf8def5aec812abc88c23a946e7a0f1f4
2021-11-15 04:14:37 -08:00
CodemodService Bot
059d9b7dc3 Daily common/rust/cargo_from_buck/bin/autocargo
Reviewed By: krallin

Differential Revision: D32424541

fbshipit-source-id: 8fb0d1afa8c8ac86de930b0316c5fd7d0d687b6a
2021-11-15 02:35:08 -08:00
svcscm svcscm
1e94970aa1 Updating submodules
Summary:
GitHub commits:

48bdd8052e
d22962265c
3e2785a53e
6a440a65b5

Reviewed By: jurajh-fb

fbshipit-source-id: 86c5e2b45954384f806f5ca347d8ee4b2e0007bd
2021-11-15 02:06:03 -08:00
svcscm svcscm
6035212c0c Updating submodules
Summary:
GitHub commits:

a4d35c761c
7f44dce741
dec6003259
2eff88fff8
c2e4e6a30b
7566eae4d4

Reviewed By: jurajh-fb

fbshipit-source-id: b83a4a57a15424c0619bc1e13d310e8167fcde0d
2021-11-15 01:29:19 -08:00
svcscm svcscm
456b446231 Updating submodules
Summary:
GitHub commits:

5e7cc4be96
7a0094ae13
88fe07b997
a1a1e32c5d
ddb9e0e024
beca416185
78ec8b9ff7
4152213063
89d32e9c80

Reviewed By: jurajh-fb

fbshipit-source-id: 9d51621e48dfa33b84a1f823faca935691fe25ea
2021-11-15 00:31:19 -08:00
svcscm svcscm
e8826740b2 Updating submodules
Summary:
GitHub commits:

77966512ed
1437d92a20
10bb1abb75
30f61e6aad
922214ef3e
c8a95f5503
bfdf3d5d10
a516b68c31
ea9f4f7350
776f984046

Reviewed By: jurajh-fb

fbshipit-source-id: 22b946f838298d2d00f00c58d41f6c9915f6a1fa
2021-11-14 23:22:22 -08:00
svcscm svcscm
35c381cf11 Updating submodules
Summary:
GitHub commits:

84c2ff1c6e

Reviewed By: jurajh-fb

fbshipit-source-id: d2900bb1ced5308449bec0b7f71b95911f9af4e1
2021-11-14 22:57:24 -08:00
svcscm svcscm
9d0792a7b3 Updating submodules
Summary:
GitHub commits:

4eb9702bb8
825d0405af
1233f35baa
0bcf1fbb02

Reviewed By: jurajh-fb

fbshipit-source-id: 418802dac76144557e84765bd380dfe533d6dcf5
2021-11-14 14:17:01 -08:00
svcscm svcscm
ac701db65b Updating submodules
Summary:
GitHub commits:

b822394df2

Reviewed By: jurajh-fb

fbshipit-source-id: 8ed5da0053b66afbb77ff603bd1e3cd2aee6880b
2021-11-14 13:33:35 -08:00
svcscm svcscm
b7e3d998c0 Updating submodules
Summary:
GitHub commits:

45cdeff966
9ac5ef6c71
cd4a6d3fa6
bb536f290a

Reviewed By: jurajh-fb

fbshipit-source-id: 146ebac50aeb0064ee8b29163405d52ae95f6d49
2021-11-13 13:00:12 -08:00
svcscm svcscm
e3161861f0 Updating submodules
Summary:
GitHub commits:

016c52c2ee
10c9c9e25c
72a92a07bb
fc283fb2de
719b469c55
71948e1cc6

Reviewed By: jurajh-fb

fbshipit-source-id: e538a7ed97d5bbef53f420eb748dad7c92f17aa3
2021-11-13 12:32:50 -08:00
svcscm svcscm
96232d8f0b Updating submodules
Summary:
GitHub commits:

3fad395f29
e2e5de7607
e2512a70f6
dabf0e0fd4
fdad310a1a
b2b8f972c4
cbd6cd5ae3
4109c66a30
f6b6888672

Reviewed By: jurajh-fb

fbshipit-source-id: 03555cbb2deed6a30051e5a0c490edbae35e4ba3
2021-11-13 11:59:13 -08:00
svcscm svcscm
224ec2f22c Updating submodules
Summary:
GitHub commits:

f00ec6b87f
fef5e4f51f
bf3a7c9a9b
a6a141e3b0
df5e7ecdfb
fd78cb54f8
37e13cd5fe
948dc3d9a4
f1133e7238
aeaddfe60e

Reviewed By: jurajh-fb

fbshipit-source-id: 50e97c229730af71d822a2c71181c045faad84b6
2021-11-13 11:28:53 -08:00
svcscm svcscm
d1b15adab9 Updating submodules
Summary:
GitHub commits:

028a9abae3

Reviewed By: jurajh-fb

fbshipit-source-id: c0bbbbd59fad2eff760ae725ce1c46e4a1b564c4
2021-11-13 10:53:55 -08:00
svcscm svcscm
dcd9c7c788 Updating submodules
Summary:
GitHub commits:

f999531767
f421240835
9bb13c56b3
e9a1a81c9d
ec09cab32c
0f42441cbb

Reviewed By: jurajh-fb

fbshipit-source-id: daaf7cc32bd27b2fecb554225437ccbe96298283
2021-11-12 20:32:22 -08:00
svcscm svcscm
daf412e752 Updating submodules
Summary:
GitHub commits:

521f6ff43f
c8a3ad6252
bc9a1fea26
4d7be1b092
ee19f612cd
8c9a87cdd9

Reviewed By: jurajh-fb

fbshipit-source-id: 71f0de5be7207079c26ae08230e07e5f53495b3d
2021-11-12 19:02:58 -08:00
svcscm svcscm
7a8b923055 Updating submodules
Summary:
GitHub commits:

4a0e2b79b9
88eea6881e
465380d6cf
92fce0905f
046f16ab35
008023542e
05682a5275
c730c0ee2e
ec2b04a41c

Reviewed By: jurajh-fb

fbshipit-source-id: 614a3479ca190d1df5622b56d25a6f3998d6bb3e
2021-11-12 18:29:16 -08:00
Durham Goode
f7073d4abd localrepo: add develwarn for __contains__
Summary:
Doing 'node in repo' can result in very slow performance now that we're
using lazychangelog. Let's add a develwarn so we can be more aware of where
we're hitting this.

This only shows up for our team.

Reviewed By: quark-zju

Differential Revision: D32403828

fbshipit-source-id: 16e1633de68679d485d243dcb9dd402c52d5a7cb
2021-11-12 18:01:40 -08:00
svcscm svcscm
dd230180b4 Updating submodules
Summary:
GitHub commits:

ddccc7b767
b6629f4f1c
7645c139ce
0a75089ee6
e362438abc
5a93ab33e8
51ca781099
1b27bd226b
f40a9a0eb7
cbafff15b8
ed7c080a17
e49e3abc78
35113ed824

Reviewed By: jurajh-fb

fbshipit-source-id: ef6ab5d9b580bb07f19d15ca602b4ddde4ae6938
2021-11-12 17:49:11 -08:00
svcscm svcscm
2f25811de4 Updating submodules
Summary:
GitHub commits:

dbe22d1116
69f83bc08b
80632e88d6
c9f2b4ad31
b56adb3e65
2edbcb3b75
5218deff5f
b1a8c06bfd
608ce2e025
2eda1dde0c
a11ee8cf35
d89a9363a9
cb3a508b1d
6d56d0dfee
d0d781a2c9

Reviewed By: jurajh-fb

fbshipit-source-id: 50aa05321e658a7fa01cfd8e07bcf688b4fb4f5a
2021-11-12 16:31:48 -08:00