Commit Graph

61981 Commits

Author SHA1 Message Date
svcscm
080712c602 Updating submodules
Summary:
GitHub commits:

1a5fc4f577
8ed313ff53
0186ce6393

Reviewed By: wittgenst

fbshipit-source-id: 1772b81a9f6aecf2f7175385683d08cb505c1707
2020-11-21 18:22:33 -08:00
svcscm
251a17c317 Updating submodules
Summary:
GitHub commits:

8f2f4d97a2

Reviewed By: wittgenst

fbshipit-source-id: 6cc2fbdc3c8218a794556e62e5d1f60c9ae4c9b6
2020-11-20 17:34:25 -08:00
Katie Mancini
a46707cc19 Fix eden du --clean on MacOS
Summary:
`eden du --clean` currently fails with

```
Fatal Python error: initfsencoding: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'
```
Full error: P149352812

It looks like this is because Buck expects to run with a different python, so
here I clear out the PYTHONHOME variable before we start buck.

This reuses out logic used elsewhere to clean up the environment before
calling buck.

Reviewed By: wez

Differential Revision: D24904105

fbshipit-source-id: 73587c52aff3ea00f68339eb44e7042329de2e44
2020-11-20 17:25:55 -08:00
Jonathan Keljo
8cb2b9b710 Work around lru-disk-cache UB in Rust 1.48
Summary: `lru-disk-cache` depends on an old version of `linked-hash-map` which contains UB in 1.48 (see https://github.com/mozilla/sccache/issues/813). They updated the deps in their repo months ago, but haven't pushed a new version. This diff makes us get `lru-disk-cache` directly from their GitHub instead.

Reviewed By: dtolnay

Differential Revision: D25134582

fbshipit-source-id: 05fd63a76b7095ebeea458645b92a83bbd8c4614
2020-11-20 17:01:01 -08:00
svcscm
123e9fffaf Updating submodules
Summary:
GitHub commits:

e2c9673f65
4f88c3f60e
8b64c71ab7
179b347d9b
b2170a6824
3263b4e18e
43bf02b6cb
367f209cee
dea2f94287
8613ac65b7
3d70533b04

Reviewed By: wittgenst

fbshipit-source-id: 37e8d77debbb3a61afb6a14c7a6f52b7120ee6c5
2020-11-20 17:01:00 -08:00
svcscm
895f8473c5 Updating submodules
Summary:
GitHub commits:

16f11fd360
1848775fc6
2cc87b20ea
a5e2a703c5
6e689b6043
4c2949e7b8
7c8b7a6697
f602d77a51
73ef49fcca
200fa12b7b
282ac89fc5
9d562b2ae5

Reviewed By: wittgenst

fbshipit-source-id: 042a35e1055ccf1df255b24d0c8c01a77b8cb74c
2020-11-20 14:47:04 -08:00
Rajan Kumar
3378ebc55d Adding yaml-cpp fboss code for oss
Summary: Added yaml-cpp library to the fboss OSS build

Reviewed By: shri-khare

Differential Revision: D25126509

fbshipit-source-id: 1e88150dbf8c96a5ac696e003265dc1f14bec105
2020-11-20 14:04:20 -08:00
Rajan Kumar
c4c7b2cd09 Adding yaml-cpp in fboss oss build
Summary: The new library firmware_storage needs the yaml-cpp. For OSS build this diff adds the yaml-cpp library to manifest

Reviewed By: shri-khare

Differential Revision: D25115387

fbshipit-source-id: 9ed1c374df7e87f284c48d366095a20183719534
2020-11-20 14:04:20 -08:00
svcscm
a0e7577bec Updating submodules
Summary:
GitHub commits:

6a97a3094b

Reviewed By: wittgenst

fbshipit-source-id: 57303f630fc2f31191b2d69cd5afd70c3a3f4a7c
2020-11-20 13:52:59 -08:00
Alex Hornby
5a6ccc9188 mononoke: fix DeletedManifest to child step in walker
Summary:
It was mistakenly mapping deleted manifest id to a unode id.

I'm surprised the walk.rs code that constructs the DeletedManifestToDeletedManifestChild edge built with this bug. The DeletedManifestId and ManifestUnodeId types presumably coerce to each other.

Reviewed By: markbt

Differential Revision: D25120994

fbshipit-source-id: 1b53037808779c345c163ef32324961938078fc7
2020-11-20 10:30:09 -08:00
Stanislau Hlebik
444289c5d0 mononoke: allow Push bookmark moves in hg sync job
Summary:
Soon we are going to use hg sync job for configerator repos, and they might use
Push bookmark move. Let's allow it in sync job

Reviewed By: ikostia

Differential Revision: D25121176

fbshipit-source-id: f6000617b42be8392730ffc56be1947fbdbfff76
2020-11-20 08:20:38 -08:00
svcscm
e20454e184 Updating submodules
Summary:
GitHub commits:

c18333ca21
5fadb53144

Reviewed By: wittgenst

fbshipit-source-id: 341d212ec8bb051568c46d6f7bbc393ea5529b40
2020-11-20 08:12:26 -08:00
Thomas Orozco
e65b22d9c4 mononoke/repo_client: do not re-upload commits we already have for infinitepush
Summary:
This adds support for optionally not uploading commits we already have when
they arrive via infinitepush. This can happen if we're replaying bundles.

This works by filtering the commits we have. We still get some futures created
for the underlying uploads, but we never poll them because when we visit
what futures are needed for what commits, we don't select uploads that are
only reachable from commits we filtered out.

Obviously, this isn't super efficient, since the client still has to send us
all this data, but it's better than having them send us all that data then
having us take hours overwriting it all.

Reviewed By: mitrandir77

Differential Revision: D25120844

fbshipit-source-id: f96881d0d98ec622259bedb624fd94b600a2bf1d
2020-11-20 06:30:12 -08:00
svcscm
2876306726 Updating submodules
Summary:
GitHub commits:

5fd0ebb094
15a39945ef

Reviewed By: wittgenst

fbshipit-source-id: 8440c56319f8146c763d78376c7d6bf044809084
2020-11-20 06:16:36 -08:00
Lukas Piatkowski
0f54cc3d63 mononoke/blobstore: make Blobstore generic over lifetime
Summary: Remove 'static requirement for async methods of Blobstore, propagate this change and fixup low hanging fruits where the code can become 'static free easily.

Reviewed By: ahornby, farnz

Differential Revision: D24839054

fbshipit-source-id: 5d5daa04c23c4c9ae902b669b0a71fe41ee6dee6
2020-11-20 05:51:52 -08:00
svcscm
a354b73ff5 Updating submodules
Summary:
GitHub commits:

d5f68ec943

Reviewed By: wittgenst

fbshipit-source-id: f42ce70830bb72ef2875d83aaa3aa0ec0f2684cb
2020-11-20 05:51:52 -08:00
svcscm
abcda076bf Updating submodules
Summary:
GitHub commits:

23784f94c3

Reviewed By: wittgenst

fbshipit-source-id: e5962b6adc57b1c98d26feb1caa7bb685c840478
2020-11-19 22:21:41 -08:00
Xavier Deguillard
8260e17f39 inodes: re-order some cache invalidation
Summary:
It feels like invalidating the entry before the directory makes slightly more
sense, so do it in that order.

Reviewed By: chadaustin

Differential Revision: D24800817

fbshipit-source-id: ed053d07bbae6954c276d1ad7a1ff247e5c055d9
2020-11-19 21:59:44 -08:00
svcscm
e7768fe490 Updating submodules
Summary:
GitHub commits:

05e2775fd5
40f5757736

Reviewed By: wittgenst

fbshipit-source-id: 491c2fcb26f9050cdba7a6bcf6ee9cff9b8fd313
2020-11-19 21:59:44 -08:00
svcscm
41b97fae53 Updating submodules
Summary:
GitHub commits:

65cd36c42e
f94973cb28
cac093c33e
8de18cf4c8
c9bee22de1
2f8f61b9fa
f4e3bb7a86

Reviewed By: wittgenst

fbshipit-source-id: 0497fdaf292f0e3c64b6ab1a30c541e8cd9103cd
2020-11-19 19:05:08 -08:00
Durham Goode
132f37fa14 py3: fix hggit tests
Summary:
It turns out the hggit tests weren't passing in Python 3, despite us
having removed them from our py3-broken list. Woops. This fixes them and enables
the tests.

Reviewed By: sfilipco

Differential Revision: D25095189

fbshipit-source-id: acffca34b0d5defa7575ede60621ca2ce0a2afe4
2020-11-19 18:47:02 -08:00
Durham Goode
a0af56bbd4 extras: allow surrogateescaped byte extras
Summary:
Back in March we forced all extras to be strings. It turns out hggit
needs to write binary extras since it stores some binary patches in extras.
To support that, let's encode commit extras using surrogateescaped. That will
allow hggit to put binary data in extras in a later diff.

Reviewed By: sfilipco

Differential Revision: D25095190

fbshipit-source-id: 330bf06b15fc435f70119490557b8c22341b6ed9
2020-11-19 18:47:02 -08:00
svcscm
67c252112d Updating submodules
Summary:
GitHub commits:

96e8cdea2a

Reviewed By: wittgenst

fbshipit-source-id: ece8391384d3fbacaf842328f403f84e8f414020
2020-11-19 18:47:02 -08:00
svcscm
09575cae82 Updating submodules
Summary:
GitHub commits:

d24311872c
1d8a044578
21073611ec
c3baa9b748
a65e905bbb
c313f43877
e552ae42fa
ead050ec08
9d738e8113

Reviewed By: wittgenst

fbshipit-source-id: 6c3d78b9f401a81c3612cf836bdc5a1cfb9e4228
2020-11-19 14:04:57 -08:00
Aida Getoeva
49a5eff46f mononoke/sql: fix connection to the sharded db
Summary:
Apparently shards for some DBs start from 1 (production_filenodes) and for some - from 0 (production_blobstore).
This diff fixed the issue for mysql connections.

Long term we might want to query SMC for the list of shards instead of hardcoding different values in the different places.

Reviewed By: farnz

Differential Revision: D25057136

fbshipit-source-id: 9201a2ec8afe0b66a246a2ee91cc9389630f5ddf
2020-11-19 13:16:01 -08:00
Chad Austin
3f59c5f443 add eden trace hg command
Summary:
Add a TraceBus to HgQueuedBackingStore and allow tracing import events over Thrift.

This powers a new `eden trace hg` command that allows a live view of
tree and blob imports.

Reviewed By: genevievehelsel

Differential Revision: D24732059

fbshipit-source-id: 525152fe39047160a68c1706217a06a00a6dbef1
2020-11-19 13:02:42 -08:00
Stanislau Hlebik
dec791e015 mononoke: do not report bookmark validation error if we get an infra error
Summary:
We got a few ubns because one bookmark validator in a single region wasn't able
to connect to mysql and was reporting errors.

This diff fixes by separating logical and infra errors

Reviewed By: ikostia

Differential Revision: D25092364

fbshipit-source-id: 93f4be1a7e0467051b7b8d927eef9b4f5cd6a983
2020-11-19 12:57:50 -08:00
Thomas Orozco
d3235ff615 mononoke: remove name from HgBlobEntry
Summary:
This isn't actually being consulted anywhere save for a single test, so let's
just remove it (it's not like the test checks anything important — that field
might not as well exist given we never read it).

Reviewed By: farnz

Differential Revision: D25093494

fbshipit-source-id: 5f4a53f8666fc0e8a89ceade44baa96e71fb813f
2020-11-19 12:55:28 -08:00
Thomas Orozco
dae48357ac mononoke/mercurial_types: remove redundant passing of path in upload
Summary:
This is a bit unnecessary as it stands — we roundtrip the path through
execute() just to return it back. This path was used for trace logging, but
given we literally never look at this log, let's just simplify this logging a
little bit.

Reviewed By: StanislavGlebik

Differential Revision: D25089344

fbshipit-source-id: 15b0f1cce8c9b2938429de19ff063e5677794912
2020-11-19 12:55:28 -08:00
Jun Wu
e91552fefe template: add rev f64 compatibility
Summary:
With segmented changelog, rev can exceed f64 safe range
(Number.MAX_SAFE_INTEGER in Javascript, 9007199254740991, 0x1fffffffffffff).
If rev is used in JSON, then the JSON cannot be parsed with precise rev
information.

This diff adds a compatibility mode so template will map the out-of-range revs
to safe range, and the mapped revs can be detected, and mapped back to be
resolved correctly.

Reviewed By: sfilipco

Differential Revision: D25079001

fbshipit-source-id: 52a5a2c8345a76355b8bf81435034d90c7c31610
2020-11-19 12:15:36 -08:00
Mateusz Kwapich
51b21dd9a7 unit test for dechunker raw bundle2 saving
Summary: Tests the behaviour of collecting the raw bundles.

Reviewed By: krallin

Differential Revision: D25025255

fbshipit-source-id: 114da273a28d131f5dd24047ed28ea23d076f235
2020-11-19 06:41:06 -08:00
svcscm
e83e374cbf Updating submodules
Summary:
GitHub commits:

b0ed2651c5

Reviewed By: wittgenst

fbshipit-source-id: d4bcb67d900a1fd9acb46b6c9b717678f5c3409e
2020-11-19 06:41:05 -08:00
svcscm
214d16f19a Updating submodules
Summary:
GitHub commits:

5c0e734399

Reviewed By: wittgenst

fbshipit-source-id: afb3e7c2e4af14ab1aa6330e9a5c2f32a487b6b1
2020-11-19 01:19:40 -08:00
David Tolnay
448edf7461 Format fbsource with rustfmt-2.0.0-rc.2
Reviewed By: zertosh

Differential Revision: D25075717

fbshipit-source-id: 244182839311f96b69f381c07983276a04ecc5d3
2020-11-18 19:46:38 -08:00
svcscm
8d16795168 Updating submodules
Summary:
GitHub commits:

624ed1d73a
e7ed73b5d7
70f23c02f7
25945ac6b5
e09e652b4b
ab0d3485c0
3ba8a5b46b
98e23fb5ed
20addcb258
d1252735ac
88c62f5c25

Reviewed By: wittgenst

fbshipit-source-id: dbaa1c390709d25ac21aa8c366ea128e754429b1
2020-11-18 19:46:38 -08:00
svcscm
f0934d350e Updating submodules
Summary:
GitHub commits:

450c59e64f
e6f71ead55
a0347d6ebd
2c41d995ec
bb1f43f913
c23b0145d8
5230e6f940
506e2dec32
42526e8c50
6bd769e2b7
42c1c7f726
51fcbea370

Reviewed By: wittgenst

fbshipit-source-id: 4e775a0f8ae01ef48815cea669c9913de1edd00d
2020-11-18 18:09:10 -08:00
Arun Kulshreshtha
45dd635486 treemanifest: prevent complete tree fetch after HTTP on-demand fetch
Summary:
The `getdesignatednodes` function returns a boolean indicating whether the requested nodes were actually fetched.

In the case of SSH, this is needed because the server may not support the `designatednodes` capability (only supported by Mononoke). If the fetch fails, Mercurial will fall back to an expensive complete tree fetch.

The HTTP version of this function accidentally omitted `return True`, which meant it implicitly returned `None`, which triggered the fallback path.

Reviewed By: sfilipco

Differential Revision: D25074067

fbshipit-source-id: 089d5382dd566db89ee732cdcb82762c8d43e21a
2020-11-18 17:44:12 -08:00
Chad Austin
ac8d6441f9 convert a path to valid glob syntax when prefetching
Summary:
Paths are not necessarily legal glob syntax. In particular, backslash
is used for escaping. This caused problems on Windows, where we tried
to pass a backslash-delimited path into `eden prefetch --no-prefetch`.

Reviewed By: xavierd

Differential Revision: D25072784

fbshipit-source-id: 9ce8e5ccc8f28581512c39d04922889da0bc1bf6
2020-11-18 17:32:30 -08:00
svcscm
dc6b1a368e Updating submodules
Summary:
GitHub commits:

87546af00a
9b8bfed135
d5c5d7ba2c
aa14e3b587

Reviewed By: wittgenst

fbshipit-source-id: e61491d5ba99cce42b6a6013e604524001c487ff
2020-11-18 14:53:37 -08:00
Xavier Deguillard
78fc38e27b store test: do not compile LocalStoreTest on Windows
Summary: The test doesn't compile on Windows, let's just ifdef it.

Reviewed By: genevievehelsel

Differential Revision: D25033804

fbshipit-source-id: 4f312f010f9d0db42cc9ae19df3f668e8e1c4665
2020-11-18 14:39:17 -08:00
Xavier Deguillard
9eca0f83a7 config test: use AbsolutePath instead of folly::fs::path
Summary:
Converting back and forth between folly::fs::path and AbsolutePath appears to
be problematic on Windows as NUL bytes appears in the paths, causing the tests
to fail. Instead of doing this conversion, let's simply use AbsolutePath everywhere.

Reviewed By: chadaustin

Differential Revision: D25033803

fbshipit-source-id: 6c45c2a20fc4bf18cecc838b219faacfeb8386d8
2020-11-18 14:39:17 -08:00
svcscm
c12c8bca0c Updating submodules
Summary:
GitHub commits:

13d95bcf71
d890812798
6bdd6b3f17
767bfd542f

Reviewed By: wittgenst

fbshipit-source-id: 9027bdea6ae41dea4e45b4eddda67ea1345e3003
2020-11-18 13:53:17 -08:00
David Tolnay
b682dd6315 Update to Rust 1.48.0
Summary: Release notes: https://github.com/rust-lang/rust/blob/stable/RELEASES.md#version-1480-2020-11-19

Reviewed By: jsgf

Differential Revision: D25011931

fbshipit-source-id: 04ad2c41d1589c7514b0550b20fd8ae0015dc118
2020-11-18 12:47:46 -08:00
svcscm
a9f0f23b19 Updating submodules
Summary:
GitHub commits:

09d9bdefc1

Reviewed By: wittgenst

fbshipit-source-id: d05eef251881022206c8d14265f5ec48f33150b7
2020-11-18 12:47:46 -08:00
svcscm
57a96dab73 Updating submodules
Summary:
GitHub commits:

26bac13db4
d0e807dd1d
741e53ffa8

Reviewed By: wittgenst

fbshipit-source-id: 40139642d605afadf4a070fe4191d33563f44afc
2020-11-18 10:33:40 -08:00
Thomas Orozco
31b9c58a0f mononoke_api: don't hit all bookmarks in all repos at the same time
Summary:
Querying bookmarks in all repos at the exact same time results in us making a
bunch of concurrent queries to MySQL, which in turn results in MyRouter
allocating a bunch of connections.

This is for reporting the age of bookmarks: that stuff can wait... It doesn't
need to be super fast. Let's make it run on repos one at a time to avoid
allocating dozens of connections every 10 seconds (which is more often than
MyRouter seems to close them).

Reviewed By: ikostia

Differential Revision: D25057432

fbshipit-source-id: 8b65ef65752fc9762a26d835ac80f61573003dd7
2020-11-18 09:48:51 -08:00
Johan Schuijt-Li
0cc4d4f100 introduce ability to talk to mononoke directly
Summary:
Skip the need to go through SSH/Mercurial servers. Directly connect to Mononoke
via TLS with X509 certificates.

Reviewed By: markbt

Differential Revision: D24756947

fbshipit-source-id: a782c894956d6a6be055eaa78287c040ceb57da7
2020-11-18 07:34:38 -08:00
Alex Hornby
7e6a398aa7 mononoke: add test for non-public hg changeset walk
Summary: Add a test case for walking hg data from non-public changeset

Reviewed By: ikostia

Differential Revision: D25023130

fbshipit-source-id: 34295f77926b32c77095f7c10d6daa8ef59d9550
2020-11-18 06:08:45 -08:00
Alex Hornby
3bcfce5803 mononoke: allow excluding filenodes from blobimport
Summary: Add command line option to exclude derived data types from blobimport so we can use it to create non-public commits without filenode data for tests

Differential Revision: D25023116

fbshipit-source-id: d8e5d6955f11cebec0de2075c22981bf6c6f4af3
2020-11-18 06:08:45 -08:00
Alex Hornby
88377d204f mononoke: add DeletedManifest to walker types
Summary: Add DeletedManifest to walker types with edges to linked changeset and its sub-manifests so that they can be scrubbed.

Differential Revision: D25000319

fbshipit-source-id: f146e6132fde0fb13e630d315484cc2c0a964bdc
2020-11-18 06:08:45 -08:00