Commit Graph

62357 Commits

Author SHA1 Message Date
svcscm
424e85f6b4 Updating submodules
Summary:
GitHub commits:

b15c1cea31
e127df07f3
aa7a2d72a7
af1c7898a7
c1a65a4de4
655ef8bad4

Reviewed By: yns88

fbshipit-source-id: 2e123cb68d902afa236a2fc97a62894df030cc7b
2021-01-04 18:10:37 -08:00
Zeyi (Rice) Fan
bcfd491b98 big sur: fix osxfuse loading path
Summary: Starting from 3.11.1, OSXFUSE switched into using macOS's major version number for different system versions. So we need to consider that when calculating path to the kernel extensions on macOS.

Reviewed By: xavierd

Differential Revision: D25675984

fbshipit-source-id: ea8c76ce7204ba5da3ca98ceca2cfbeb9c84fa8f
2021-01-04 16:46:48 -08:00
svcscm
74e16016ad Updating submodules
Summary:
GitHub commits:

9c5e1719f4

Reviewed By: yns88

fbshipit-source-id: 4a2cc35811450d32cd6116664e28aac24017204b
2021-01-04 16:46:48 -08:00
svcscm
32ce0b9e64 Updating submodules
Summary:
GitHub commits:

714e8b6973
9e6e36c4f7
ec50838e37
22467dd5df
58660bf21a
4fe9d6a066
124d9fd00f
d127013859
8d184adaa2
88455a8572
2be9fc3eb0

Reviewed By: yns88

fbshipit-source-id: 7c231f443dfa91aad5d81dfc95845d0f8ff30e59
2021-01-04 14:03:05 -08:00
Johan Schuijt-Li
e763e98b56 add tls explanations for errors
Summary:
Make sure we give more explanation to users to they can self-fix any errors
related to certificates that might pop up.

Reviewed By: xavierd

Differential Revision: D25758517

fbshipit-source-id: 3b9929be3d1c0c44a5e13cc9c1e7b2a4f785abf4
2021-01-04 13:14:37 -08:00
svcscm
8ea78c9e42 Updating submodules
Summary:
GitHub commits:

2e1e68b35a
91a6723380
1a7695093f
225abffd8f
3cf3566b19

Reviewed By: yns88

fbshipit-source-id: 7e55479d24444ddde5eadf657faf9a73f86bbcda
2021-01-04 13:00:12 -08:00
Xavier Deguillard
788c438cd0 cli: allow compiling on Windows with Buck
Summary:
The introduction of `eden trace` broke the Buck build on Windows due to its use
of streaming thrift which unfortunately doesn't compile on Windows. Since `eden
trace` is not supported on Windows for now, let's only depend on the streaming
thrift on Linux and macOS.

With this, we can now compile edenfsctl on Windows with Buck. This will later
enable integration tests to be run on Windows.

Reviewed By: genevievehelsel

Differential Revision: D25758445

fbshipit-source-id: d4be2cafd9472840f65dcfab63a5fcfb8eceffb7
2021-01-04 11:15:54 -08:00
Thomas Orozco
015f739351 mononoke: fix flakiness in test-walker-enable-derive.t
Summary:
Like it says in the title. Judging by an earlier similar change (D21092866 (15f98fe58c)),
this kind of flakiness in walker tests occurs when a node's children are
reachable via other paths.

Reviewed By: HarveyHunt

Differential Revision: D25756891

fbshipit-source-id: 05bc0697381e068d466ea6dfe85529dbd9ef1a50
2021-01-04 08:58:18 -08:00
Thomas Orozco
a37f92d807 revisionstore: retry recv & send error
Summary:
Like it says in the title. Note that I did *not* retry stuff like resolving
hosts or connecting, so this should only really temporary blips in
connectivity. We probably shouldn't go much beyond that at a low level like
this.

Reviewed By: HarveyHunt

Differential Revision: D25615915

fbshipit-source-id: 78c33eff2e9ce380a260708e9fbeb929eede383c
2021-01-04 06:22:55 -08:00
Thomas Orozco
aad6b20224 revisionstore: retry curl transfer time outs
Summary:
This is the goal of this stack: retry errors that occur when Curl detects that
the transfer speed is too low. This should let us eventually set a much higher
timeout on overall request completion, thus ensuring that we don't uploads
that make progress, all the while aborting connections early and retrying them
if they are legitimately stuck.

Reviewed By: farnz

Differential Revision: D25615790

fbshipit-source-id: fe294aee090758b1a3aef138788ac2926c741b79
2021-01-04 06:22:55 -08:00
Thomas Orozco
d7ebbe7f56 revisionstore: refactor error hierarchy to make transfer errors recoverable
Summary:
Right now, the error handling in LFS doesn't handle e.g. transfer timeouts. I'd
like us to support that, notably so that we can have curl require a minimum
transfer speed and retry if we fail.

To do so, I need to be able to capture the errors and figure out if they're
retryable. Right now, everything is either a `FetchError` that includes a HTTP
status and URL, or just an `Error` that aborts.

This diff introduces a `TransferError` that explains why a transfer failed and
can be used for retry decisions. We later add the request details if we decide
to not retry and turn it into a `FetchError`.

Reviewed By: xavierd

Differential Revision: D25615789

fbshipit-source-id: e4a2f4f16a34ca2f86bd61491bb26e7f328dec63
2021-01-04 06:22:54 -08:00
Thomas Orozco
06e016600b revisionstore: make min transfer speed configurable
Summary:
Like it says in the title. This adds support for setting a min-transfer-speed
in Curl. My goal with this is to fix two problems we have:

- a) Uploads that timeout on slow connections. Right now we set a transfer
  timeout on requests, but given files to upload can be arbitrarily large, that
  can fail. This happened earlier this week to a user (T81365552).
- b) Transfer timeouts in LFS. Right now, we have a very high timeout on
  requests and we can't lower it due to this problem with uploads. Besides,
  the reason for lowering the timeout would be to retry thing, but right now
  we don't support this anyway.

Reviewed By: xavierd

Differential Revision: D25615788

fbshipit-source-id: 57d75ee8f522cf8524f9d12103e34b0765b6846a
2021-01-04 06:22:54 -08:00
Thomas Orozco
0403998080 revisionstore: group http options in a struct
Summary:
I'd like to make it a little easier to add more options without having to
thread them all the way through to the HTTP transfer callsite.

Reviewed By: xavierd

Differential Revision: D25615787

fbshipit-source-id: 4c6274dc2e6b5ba878e0027aae9a08b04f974463
2021-01-04 06:22:54 -08:00
svcscm
816165e6b0 Updating submodules
Summary:
GitHub commits:

f79b70efb9
49875b201a
b7931d6b75
a5e9ac31d1

Reviewed By: jurajh-fb

fbshipit-source-id: 40348345070506c9a76b3560712a23f8f871c214
2021-01-02 20:37:42 -08:00
svcscm
e8adf55634 Updating submodules
Summary:
GitHub commits:

217dd45f75
a010928123
87d32b733d
79bf710959
2ca021659f
4010259964

Reviewed By: jurajh-fb

fbshipit-source-id: 88ed0aaad779a91819fdc80cb2caa0ae9beb1934
2021-01-01 23:22:21 -08:00
svcscm
e2aa278b39 Updating submodules
Summary:
GitHub commits:

4274a6d198
d27c9a1fb5
6c6b097fc8
0d74e1de94

Reviewed By: jurajh-fb

fbshipit-source-id: 8c64c58dc2d231d043d73aa11c2d2f8df589e04a
2021-01-01 19:22:27 -08:00
svcscm
7230031187 Updating submodules
Summary:
GitHub commits:

e06d5f94cc
28f593246f
3db829eacb
cc09a71fc2
5b634d443a
d6ed8042a0
900fbdf44d

Reviewed By: jurajh-fb

fbshipit-source-id: 4d386eae9c222a814ba9b5533bf8f358a6a647aa
2020-12-31 22:23:01 -08:00
svcscm
f2161a7d75 Updating submodules
Summary:
GitHub commits:

4437d09cdf
0a5999d26c
0a91fbaa53
30cd38c687
9e381ed9e8

Reviewed By: jurajh-fb

fbshipit-source-id: 9305e83ed241b34c5f9e1c49b12749bda1a6747d
2020-12-31 00:22:47 -08:00
svcscm
afab56f4e2 Updating submodules
Summary:
GitHub commits:

7ecd90e8d2

Reviewed By: jurajh-fb

fbshipit-source-id: ff21f1c5159f5eac2350a1421a04778ae7091157
2020-12-29 23:33:08 -08:00
Daniel Xu
1e78d023e7 Update regex to v1.4.2
Summary: Update so libbpf-cargo doens't need to downgrade regex version.

Reviewed By: kevin-vigor

Differential Revision: D25719327

fbshipit-source-id: 5781871a359f744e2701a34df1931f0c37958c27
2020-12-29 22:59:52 -08:00
svcscm
5571e4c2df Updating submodules
Summary:
GitHub commits:

d66b7a6846
ce06379b64
92de714ec6
4474d23b57
bc01ab28cb
daa110eb5c
a0751504e4
c59b8b92a7
36a256ae58

Reviewed By: jurajh-fb

fbshipit-source-id: ca8108f2f2015ab8e902d40334f6839ee9ece064
2020-12-29 22:59:52 -08:00
svcscm
41cd01edc3 Updating submodules
Summary:
GitHub commits:

910b752024
b6fea5a269
e4ee5b26e8
ddde956cff
9faa4544f3
2f7ba98320

Reviewed By: jurajh-fb

fbshipit-source-id: 5164844c5d075021a7046b55f2a19223eb74d72c
2020-12-29 12:40:20 -08:00
Robin Håkanson
f0529b0b7b Extended git-import test
Summary: Extended git-import test to include both `full-repo` and `missing-for-commit` import modes.

Reviewed By: ahornby

Differential Revision: D25675361

fbshipit-source-id: b93e2db963c2060540308bf0477cd891d40e5810
2020-12-29 09:19:09 -08:00
svcscm
f9dd1993c8 Updating submodules
Summary:
GitHub commits:

ce5737864d

Reviewed By: jurajh-fb

fbshipit-source-id: 7c3f22dbf653401ae518816ffbf7f6dd2e984838
2020-12-29 09:19:09 -08:00
svcscm
98e23e9b64 Updating submodules
Summary:
GitHub commits:

fbee4dec19

Reviewed By: jurajh-fb

fbshipit-source-id: 160203800a248090cb1701fa4e4db0ae043b5bce
2020-12-29 07:23:50 -08:00
svcscm
3e7f7a614a Updating submodules
Summary:
GitHub commits:

e26d115692
bac0ef358b

Reviewed By: wittgenst

fbshipit-source-id: aac5ae67df34fd32bb7dc85efc1a21ad6ea8bca7
2020-12-28 08:22:55 -08:00
svcscm
cde926cd8e Updating submodules
Summary:
GitHub commits:

08f40a998b

Reviewed By: wittgenst

fbshipit-source-id: 8b9b2e926efd45ee0543c540c7edee9d46052d13
2020-12-27 08:23:08 -08:00
svcscm
83c0480f52 Updating submodules
Summary:
GitHub commits:

1d26adc1c3
9c5a346469
9a5f88031e
bf511686ed
4f86a51683

Reviewed By: wittgenst

fbshipit-source-id: c1554321f17fba349176836d8e0b24adc53cbf99
2020-12-26 08:17:55 -08:00
svcscm
d3ac53240e Updating submodules
Summary:
GitHub commits:

c4b6d52e4a

Reviewed By: wittgenst

fbshipit-source-id: 034889891f39fb30686199d12b0c84e3ec4a9b13
2020-12-25 11:22:44 -08:00
svcscm
5acd04b050 Updating submodules
Summary:
GitHub commits:

8564148093

Reviewed By: wittgenst

fbshipit-source-id: 7452cb71902d8ebde20c600c5390d84cf9caa380
2020-12-24 19:22:39 -08:00
svcscm
f7231a7669 Updating submodules
Summary:
GitHub commits:

55e99688cc
41e2614097
68f27aafb4

Reviewed By: wittgenst

fbshipit-source-id: 413355bbd2e11dfc450422a0d24424b78488861e
2020-12-23 18:55:08 -08:00
Stefan Filip
ec86acf996 segmented_changelog: update default tailer behavior in tests to run once
Summary:
Managing tailer processes that run multiple times and run once is different. We
want separate code paths when we run contiously than when running only once.

Reviewed By: quark-zju

Differential Revision: D25684782

fbshipit-source-id: 354b32c1dd73f867d6a7b1bd4518d9dd98e6b9a3
2020-12-23 16:51:09 -08:00
Stefan Filip
3f772c5242 edenapi: fix idmap entry sorting in read_res
Summary:
The intention was to sort entries by Dag Id entry. This was instead sorted
lexicographically.

Reviewed By: quark-zju

Differential Revision: D25684784

fbshipit-source-id: 0a3db6398aec7d8df080bbb2366e41660483608c
2020-12-23 16:51:09 -08:00
Stefan Filip
65054f2044 segmented_changelog: add comments around IdMap insert expectations
Summary:
Comments for why we don't need a lock when updating the SqlIdMap with multiple
writers. Structure can definitely be improved but I'll live with this for a
short time.

No fundamental change in logic. I added extra checks to the insert function and
changed from an optimistic insert race logic to a pessimistic version. I
explain in the comments that it's to have an easier time reasoning about what
happens and that theoretically doesn't matter.

Reviewed By: quark-zju

Differential Revision: D25606290

fbshipit-source-id: ea21915fc797fe759b3fe481e8ad9e8cb594fb6a
2020-12-23 16:51:08 -08:00
svcscm
dafd5c32bf Updating submodules
Summary:
GitHub commits:

20bcade0c3
bdb7e544bd

Reviewed By: wittgenst

fbshipit-source-id: 8182ea8c6a0a830c5921603d8e16ee4a2b69a514
2020-12-23 16:51:08 -08:00
svcscm
2d0b7ef86e Updating submodules
Summary:
GitHub commits:

95b045bdc6
0c47744a22
86b7682ade

Reviewed By: wittgenst

fbshipit-source-id: 08eb56db3eca2e9a9e7735681389860a03292b49
2020-12-23 03:32:34 -08:00
Alex Hornby
8d7020f07d mononoke: many repos at once in the walker
Summary: Will reduce the number of jobs needed for small repos

Reviewed By: StanislavGlebik

Differential Revision: D25492059

fbshipit-source-id: de11c06615857ad43f3337e58973849d2026a114
2020-12-23 02:08:22 -08:00
Alex Hornby
92ce1e74d2 mononoke: allow passing of repo name through walker
Summary: preparation for multi repo, get the repo name into ErrorKind::NotTraversable

Reviewed By: StanislavGlebik

Differential Revision: D25541444

fbshipit-source-id: 8fd99d5d3f144d8a3a72c7c33205ae58bd5f1ae2
2020-12-23 02:08:22 -08:00
Alex Hornby
c71c9c1459 mononoke: factor out per repo params in walker
Summary:
In preparation for having the walker able to scrub multiple repos at once, define parameter structs.  This also simplifies the code in tail.rs.

The param objects are:

* RepoSubcommandParams - per repo params that can be setup in setup_common and are consumed in the subcommand.  They don't get passed through to the walk

* RepoWalkParams - per repo params that can be setup in setup_common and will get passed all the way into the walk.rs methods

* JobWalkParams - per job params that at can be setup in setup_common and will get passed all the way into the walk.rs methods

* TypeWalkParams - per repo params that need to be setup in the subcommands, and are passed all the way into walk.rs

Reviewed By: StanislavGlebik

Differential Revision: D25524256

fbshipit-source-id: bfc8e087e386b6ed45121908b48b6535f65debd3
2020-12-23 02:08:22 -08:00
Alex Hornby
a36ca7efa8 mononoke: factor out arg parsing functions in walker
Summary: parsing of progress options an sampling options was same in each subcommand,  move them to functions in setup.rs

Reviewed By: StanislavGlebik

Differential Revision: D25524255

fbshipit-source-id: a2f48814f24aa9b3a158cb7d4abbfc2c0c338305
2020-12-23 02:08:22 -08:00
Alex Hornby
45d9b20949 mononoke: simplify open_blobrepo_given_datasources parameters
Summary: Simplify open_blobrepo_given_datasources  parameters to pass less arguments, make it so can pass the sql_factory by reference.

Reviewed By: krallin

Differential Revision: D25524254

fbshipit-source-id: c324127f42c53a52f388d303e310014f4fa0d7bb
2020-12-23 02:08:22 -08:00
Alex Hornby
ef501ba297 mononoke: update walker setup_common to async fn
Summary: Shifts things left a bit

Reviewed By: krallin

Differential Revision: D25524257

fbshipit-source-id: ab0979b7e5370c1ad142ecabc1d27fea549a3342
2020-12-23 02:08:22 -08:00
Alex Hornby
9985458fa1 mononoke: prepare walker blobstore for multiple repo jobs
Summary: Allows the walker blobstore code to be used by more than one blobrepo.  This is a step to reduce the number of jobs needed to scrub small repos.

Reviewed By: StanislavGlebik

Differential Revision: D25422937

fbshipit-source-id: e2d11239f172f50680bb6e10dd60026c9e6c3c3d
2020-12-23 02:08:22 -08:00
Alex Hornby
a7658c112e mononoke: step to hg changesets via bonsai in walker
Summary:
By doing the hg to hg steps via bonsai I will later introduce a check if the bonsai is in the current chunk of commits to be processed as part of allowing walker checkpoint and restart.

On its own this is a minor change to the number of nodes the walk will cover as seen in the updated tests.

Reviewed By: krallin

Differential Revision: D25394085

fbshipit-source-id: 3e50cf76c7032635ce9e6a7375228979b2e9c930
2020-12-23 02:08:21 -08:00
Alex Hornby
422774f46d mononoke: track if hg is derived in walker bonsai steps
Summary: This is in preparation for all walker hg to hg steps (e.g HgChangeset to Parent HgChangeset) going via Bonsai, which without this would continually check if the filenodes are derived

Reviewed By: krallin

Differential Revision: D25394086

fbshipit-source-id: bb75e7ddf5b09f9d13a0f436627f4c3c95e24430
2020-12-23 02:08:21 -08:00
svcscm
2f98f6233b Updating submodules
Summary:
GitHub commits:

e30dc6b7f9
1de27792ea

Reviewed By: wittgenst

fbshipit-source-id: 6379380d5427370cc2bfae747873739fdc9318fc
2020-12-23 02:08:21 -08:00
svcscm
5b3e033158 Updating submodules
Summary:
GitHub commits:

b0d5160139
3909c78c54
06ab466b50
69bbfc4b7d
32bef3f12c
f4db3e4119
ca016562f5
63c17e1186
6309b1a525
a84fe7bd3c
580b4e5a6c
e9e695adec
a8a3bb24bf

Reviewed By: wittgenst

fbshipit-source-id: 2f8e317c8c48c3681b6805f254783f2aeaf847dc
2020-12-22 17:42:27 -08:00
Jun Wu
3b6bec975e dag: impl PartialOrd for VerLink
Summary:
`PartialOrd` was suggested by sfilipco. Note `Option<std::cmp::Ordering>` is
similar to `Side` in terms of expressiveness. `PartialOrd` can be written
using shorter symbols (`<=`, etc) so it's easier to understand.

The `compatible` family APIs were replaced by `partial_cmp` APIs.

There are some minor differences:
- Bitwise or used by union set is no longer supported. `Hints::union` was
  added as a replacement.
- `Option<T>` implements full order. `Some(T) > None`. This is different
  from `compatible_dag` and `compatible_id_map` APIs. Additional `> None`
  checks were added for correctness.

Reviewed By: sfilipco

Differential Revision: D25652784

fbshipit-source-id: 51d88948fa556300678050088c06e9dda09cbf98
2020-12-22 10:37:01 -08:00
Jun Wu
c656a5da77 configparser: remove a compiler warning
Summary:
```
warning: variable does not need to be mutable
   --> eden/scm/lib/configparser/src/config.rs:448:21
    |
448 |                 let mut values_copy = values.clone();
    |                     ----^^^^^^^^^^^
    |                     |
    |                     help: remove this `mut`
    |
    = note: `#[warn(unused_mut)]` on by default
```

Reviewed By: sfilipco

Differential Revision: D25625453

fbshipit-source-id: 8475056a87095f9ba633282666e6d3fee864074b
2020-12-22 10:26:39 -08:00
svcscm
bbc7461afb Updating submodules
Summary:
GitHub commits:

86e67fcf89
e124ab8e2c
99eb6d35af

Reviewed By: wittgenst

fbshipit-source-id: dd669b3c5afbeac87c5fb4a6ac11095be794351f
2020-12-22 10:26:39 -08:00