Commit Graph

64502 Commits

Author SHA1 Message Date
Stiopa Koltsov
c247025da9 Log how long it took for eden to start
Summary:
I see in Sandcastle logs it was 10 minutes between `eden start` command and the following command.

So I'm curious, is it eden took 10 minutes to start or Sandcastle did something else but did not log it?

This little message in log will help to understand that.

Reviewed By: kmancini

Differential Revision: D27491709

fbshipit-source-id: 796c8db5abe49b056bd81b03ea57585a761c3cb6
2021-04-01 10:32:18 -07:00
svcscm
0f76b2575a Updating submodules
Summary:
GitHub commits:

2fd1e607d9

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: ae0a939b115141a681242665e9481826984d818a
2021-04-01 10:32:18 -07:00
svcscm
05b7ee601c Updating submodules
Summary:
GitHub commits:

06212128ac
3205374c7e

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 8707c3ecdb895c2e1a323a8afd57501d02bfc58a
2021-04-01 08:34:06 -07:00
Mark Juggurnauth-Thomas
69896e90b5 bonsai_hg_mapping: construct rendezvous connections in a blocking closure
Summary:
`RendezVousConnection::new` can block for some time doing work on the CPU,
specifically creating the stats objects.  This causes problems for other
futures during repo construction.

Instead, move rendez-vous construction to a `spawn_blocking` closure, so that
it doesn't interfere with the other futures.

Since `SqlBonsaiHgMapping::from_sql_connections` is not async, and is part of
the SqlConstruct trait, we must convert this to the builder pattern so that we
can defer rendez-vous construction to later on.

Reviewed By: farnz

Differential Revision: D27501915

fbshipit-source-id: 9c58c32411301128424985deeab127d052c43532
2021-04-01 08:27:15 -07:00
svcscm
5ffde1e9f6 Updating submodules
Summary:
GitHub commits:

328be486f1
ae0d1abe58
1d15c6fbdf
eb27e396e8
b77d4b0164
c43a37a922
9f4f415c84
d73647167a
36fb641ff4
b6ac4180aa
7ccd40e936
4964d0f884
ec0276a10d

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 6b94ddb55fce7014ab8cbd749b92460de64103ed
2021-04-01 07:18:22 -07:00
Alex Hornby
d2f915d4dd mononoke: compress manual_scrub output files if requested
Summary: Use async-compression to optionally zstd compress key and error files.

Reviewed By: farnz

Differential Revision: D27467761

fbshipit-source-id: e1ccb7dc32e4c41eaba82a3716cf4d13f64f71ea
2021-04-01 07:02:06 -07:00
Alex Hornby
9f9521dd4e rust: update zstd crates to zstd 1.4.8
Summary: Vendor updated zstd crates. Started on this as a prerequisite for vendoring updated async-compression crate, however dependency resolution means this actually updates async-compression as well.

Reviewed By: farnz

Differential Revision: D27467760

fbshipit-source-id: 74ca9e4da9f336cf609cf06c62559c9ef913c9a2
2021-04-01 06:20:12 -07:00
svcscm
5de3f902d5 Updating submodules
Summary:
GitHub commits:

fd9e97d0cd
0c7ca9ee22
427c269131
6f1d51be75
ab6a30c61c
fea8697ba8
1f5fd0b178
74631f1802
b59cbcf6fb
e30ab45030
6644c09023
f1aff9527a

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: bb849a07e7c580be018c5f3063f1df3740e8749d
2021-04-01 03:28:15 -07:00
Sandeep Kumar Pani
16c7354203 OSS jobs to tpx
Summary:
Tpx works well for all OSS jobs, we should migrate to Tpx instead of
relying testpilot.

Reviewed By: marcelogomez

Differential Revision: D27396539

fbshipit-source-id: dd1994be0eb3b4396764c1f3e68ddd6763b60139
2021-04-01 02:40:09 -07:00
svcscm
2990681ccc Updating submodules
Summary:
GitHub commits:

9adc8975db
105cc30da7

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: ce959d39716c5e7be4826b5cfc46f4d13874ebbe
2021-04-01 02:40:09 -07:00
svcscm
f7840f1ffa Updating submodules
Summary:
GitHub commits:

d381378db0
3cb9f7990d
34774de75f
7426f02a6a
3bac1c95e4
142a32adc4
1ee5a7c7b3
99986366ba
8751470fac
af03c3778d
221367488d
ceb9626be7
f11e0a1993

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 09ad173281947e07b08a36156e3b75ec99c5fb16
2021-03-31 23:39:14 -07:00
Durham Goode
dee3c000dd extensions: fix double loading extensions
Summary:
The extensions loading logic built up an _order list to track what order extensions should be loaded in. It also treated that list as the list of what has already been loaded, if we load extensions multiple times (like once at dispatch, then later for repo creation). Unfortunately some extensions, like tweakdefaults, modify the _order list, so when extensions uses len(_order) to decide which extensions are new, it sometimes gets the wrong results because tweakdefaults has inserted values at the beginning of _order which messes up the offset.

This causes some extension's uisetup and extsetup to be invoked twice. With dynamicconfig on Windows, I was seeing pushrebase load twice, which caused an error due to double registering bundle2 parts.

Extension loading is a mess, so this whole ordering concept really doesn't make sense, but for now let's fix it by not relying on the _order offset.

Reviewed By: quark-zju

Differential Revision: D27470828

fbshipit-source-id: e7ab8f87dfde22d82e5e080e8c01b884458b30c3
2021-03-31 21:32:37 -07:00
Shrikrishna Khare
1c84897fa3 Update OpenNSA manifest to latest 6.5.21
Summary:
This is towards upgrading to newer OpenNSA 6.5.21.

This diff will be landed after we have verified that OpenNSA 6.5.21 has not
regressed from OpenNSA 6.5.19 (HW test results)

sha256sum on the tarball, and use that in the manifest.

Reviewed By: jasmeetbagga

Differential Revision: D27470306

fbshipit-source-id: a56c1e012a790b0bc948a5804dd605cdf224916c
2021-03-31 20:26:22 -07:00
svcscm
249efde406 Updating submodules
Summary:
GitHub commits:

fd7f1992d7
b7c8b2ff28
a3a943bf63

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 03a2bee7f25f1c87fc7cf99f7841316a4f583f85
2021-03-31 19:59:06 -07:00
Stiopa Koltsov
18957b3401 Call setpgrp early in daemon init
Summary:
We call `setsid` too late, [on successful startup](https://fburl.com/diffusion/p88am07t), after `scribe_cat` binary launched.

As a result, `scribe_cat` does not belong to process group of eden, it belongs to the process group of launcher process, so it is killed by `timeout` command in ovrsource CI.

To deal with it, this diff proposes additionally calling `setpgrp` call early during initialization.

Reviewed By: chadaustin

Differential Revision: D27436474

fbshipit-source-id: acb168c1ab5b78b1598c34ebece88847a9a6480d
2021-03-31 18:34:55 -07:00
svcscm
761f7b1ede Updating submodules
Summary:
GitHub commits:

6a4d2b7735
2986dfb2fe
fcad771293

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 11e96af43924c1534ba88d97af9ad377bf352357
2021-03-31 18:19:56 -07:00
Stefan Filip
58996f610d segmented_changelog: increase wait time before starting periodic update
Summary:
Let's give some time for bookmarks to warm up before we start checking the
location of the master bookmark.

Reviewed By: quark-zju

Differential Revision: D27472520

fbshipit-source-id: f20e6f04acadaf8b7caf6aa38a6ab9d244c6f8ea
2021-03-31 17:16:01 -07:00
svcscm
739d6895c0 Updating submodules
Summary:
GitHub commits:

946d6909d6
e2d5a3f6dd

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 6911ccecc864d6522cd9ed82e3d8c846a137d5ce
2021-03-31 17:16:01 -07:00
svcscm
47c64a136b Updating submodules
Summary:
GitHub commits:

6ee40ce38a
c3788f675b
24a08c085a

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: ba93aa7c1090ae3df15636e4fa7263b9f2f80762
2021-03-31 14:05:04 -07:00
Xavier Deguillard
82720fa0b8 privhelper: make NFS mount soft
Summary:
In the case where EdenFS crashes, any client performing IO to EdenFS would be
stuck in the D state waiting for the server to be back up and running. Since on
restart EdenFS will chose different ports, this makes it hard/impossible to
actually recover and will keep some process unkillable, often time requiring
rebooting a host.

To avoid this, we can make the mount "soft" which aborts the IO after some time
has elapsed and the server isn't back up. This should enable us to kill these
processes and recover more gracefully.

Reviewed By: chadaustin

Differential Revision: D27402817

fbshipit-source-id: ff81a4360900c4c94665174e3c0cf63402f1533e
2021-03-31 13:34:20 -07:00
svcscm
d5fa662b04 Updating submodules
Summary:
GitHub commits:

d7214c6f08
2c14690add
b4800be546
7f99c1d5ee
61eefc8011
a781b103da
884a425e91
01d45db91b
f89a3f362b
61bf0d297d
c70c7d2a06
41593d2585

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: e2393111c62dbea9d39ad2afa0fa41f87b014f76
2021-03-31 13:03:57 -07:00
Arun Kulshreshtha
3295f0f1fe hg-http: add support for --insecure flag
Summary:
Add a `set_global_config` function to `hg-http` that gets called prior to command execution. This function can be used to configure the global behavior of all HTTP requests by setting up a callback that modifies every `Request` prior to sending.

Right now, the use case for this is to support the `--insecure` flag, as can be seen in the code.

Reviewed By: quark-zju

Differential Revision: D27243638

fbshipit-source-id: 61a52c1f4b56fffd860c2a7e9c7b03e146b2240a
2021-03-31 12:53:46 -07:00
Arun Kulshreshtha
e26bc3ffa4 clidispatch: add --insecure global flag
Summary: Add the `--insecure` flag to the list of global hg flags. This flag is already supported by Python, and adding it here will make it available to Rust code as well. This is used later in the stack.

Reviewed By: quark-zju

Differential Revision: D27243029

fbshipit-source-id: 150d42ee96e1e3194ff1be6a33d9b36887d86f2c
2021-03-31 12:53:46 -07:00
Mark Juggurnauth-Thomas
555375e20f smartlog: focused smartlog should include only draft related commits
Summary:
The `focusedbranch` revset should only include commits that are related via
draft commits.  If a commit is landed, its public successor shouldn't cause
focused smartlog to include descendants of the landed commit.

Reviewed By: quark-zju

Differential Revision: D27461850

fbshipit-source-id: c0eb4fbcd6cf1cd78a88e3f796b5a16257dfb190
2021-03-31 12:12:43 -07:00
Mark Mendoza
31282ad8e7 Have scratch set_file_owner on all created parents of created directory
Summary:
When running `sudo mkscratch path /home/markamendoza`, the folder `/data/users/markamendoza/scratch/homeZmarkamendoza` will be created, including all parents that did not already exist.  All these new directories will be created with owner = root.

Anticipating this kind of call, `mkscratch` already goes in and manually modifies the owner of the leaf directory (e.g. `/data/users/markamendoza/scratch/homeZmarkamendoza`), **but will not do so for any of the parent folders it created**.

This is normally not a problem, as long as `/data/users/markamendoza/scratch/` already exists.  If it doesn't then these directories are created with the wrong ownership, which causes problems if we (for example) call `mkscratch` again, without sudo.

This diff remedies this by calling the same `set_file_owner` function (that's already called on the leaf directory) on all parents that were created by `mkscratch`

Reviewed By: chadaustin

Differential Revision: D27378153

fbshipit-source-id: 26c40f4ca478cacf9117093c7b70cbedd679cea6
2021-03-31 11:50:03 -07:00
Liubov Dmitrieva
ea1362321f erase the state of the current workspace when switch to a new workspace
Summary:
Preserving that state causing some bugs.

Also it leads to accumulating lots of .eden-backing-repos/fbsource/.hg/store/commitcloudstate.user files.

It is cleaner to remove it.

Reviewed By: markbt

Differential Revision: D27461467

fbshipit-source-id: 21eebe799afcb919539ae059fc8b707abc74971c
2021-03-31 11:21:14 -07:00
Gus Wynn
fc46c24e8f update tokio to 1.4.0
Summary:
https://github.com/tokio-rs/tokio/releases/tag/tokio-1.4.0
I want the `biased;` option in `tokio::select!`

Reviewed By: ahornby

Differential Revision: D27435341

fbshipit-source-id: c29ca954c319327f62466131ae04483ad091bf49
2021-03-31 10:44:20 -07:00
Stefan Filip
f16a99af95 segmented_changelog: add IdMapVersion check to VersionStore
Summary:
We want to protect against races where we may have multiple writers with
different IdMap versions. We want IdMapVersions to be monotonous increasing.

The common race scenario is between tailers and seeder. We may have a tailer
that starts to updates while a seeder writes a version with a new idmap. The
tailer may try to write a version that has an old version of the idmap. We want
the tailer to fail in this case.

Reviewed By: krallin

Differential Revision: D27210035

fbshipit-source-id: 168c7c6f25622587071337df1172a12b799e0285
2021-03-31 10:29:36 -07:00
Liubov Dmitrieva
580c02a480 implementing hiding of scratch bookmarks with hg hide -B <name>
Summary: Alow hiding scratch bookmarks if selective pull is enabled

Reviewed By: quark-zju

Differential Revision: D27160251

fbshipit-source-id: 0ba839fc5c26189309c92e62293ee85acd8cb218
2021-03-31 10:05:16 -07:00
svcscm
18acb8d599 Updating submodules
Summary:
GitHub commits:

c517729477
5b16c311dd
71787920aa
748912688e

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 074666792c5ee182183ce97d7d53f691d959b531
2021-03-31 09:50:01 -07:00
Harvey Hunt
bf5b2f4c6a mononoke: admin: Update help text of bonsai-fetch
Summary:
This subcommand had the same help text as `content-fetch`. Update the
help text to describe what the command actually does.

Reviewed By: ahornby

Differential Revision: D27463645

fbshipit-source-id: ac4fba62f7836b55c94410889aafbf76a3cad74f
2021-03-31 09:42:11 -07:00
svcscm
13b69bcc38 Updating submodules
Summary:
GitHub commits:

0db57c9f35
02e534fb28
7b2c3e9be7
493a4e28d9

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 1ece2a0ff29be46053a07da3609bed9cf89841a1
2021-03-31 08:21:32 -07:00
Mark Juggurnauth-Thomas
2a7f271c0d commitcloud: allow cloud ssl to show history
Summary:
Support the `--history` flag (and other flags from `hg cloud sl`) on `hg cloud
ssl`.  The only real difference between the two is the template.

Fetching the phabricator status for large number of commits can take a while,
so show a progress spinner while we do it.

Reviewed By: liubov-dmitrieva

Differential Revision: D27460144

fbshipit-source-id: c80830b85fd0766ad9c56afa9afea0c2d21f9b36
2021-03-31 07:59:26 -07:00
Mark Juggurnauth-Thomas
90ce7b9519 commitcloud: add new implementation of hg cloud sl --history
Summary:
Replace the implementation of `hg cloud sl --history` with one that uses
streampager.  This allows the user to scroll around the rendered smartlog while
also switching from one version to the next.

The old (broken) history is available by setting `commitcloud.useoldhistorytui` to true.

Reviewed By: quark-zju

Differential Revision: D27268251

fbshipit-source-id: 77501e4b7f3da9506cd5a9cabb9cba0388743723
2021-03-31 07:59:26 -07:00
Mark Juggurnauth-Thomas
973b785c3b pysptui: a tui using streampager
Summary:
Add bindings for `pysptui`.  This allows using `streampager` as a TUI, using
streampager's controlled file mode to manage the display.

Reviewed By: quark-zju

Differential Revision: D27268252

fbshipit-source-id: d191a09c44ca4ed013647feb81e6f031d553b2f2
2021-03-31 07:59:26 -07:00
svcscm
e9b0e8c6c3 Updating submodules
Summary:
GitHub commits:

91d81069a8
6d7d622329

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 07a766944f302118de5f30f1ae4ecf80172bc629
2021-03-31 04:26:18 -07:00
Stanislau Hlebik
7dc59708ce mononoke: add hg filenode hash validation to walker
Summary:
We weren't validating any hashes in walker, and so it was entirely possible to
have corrupt content in the repo. Let's start hash validation it by validating hg
filenodes

Reviewed By: ahornby

Differential Revision: D27459516

fbshipit-source-id: 495d59436773d76fcd2ed572e1e724b01012be93
2021-03-31 03:21:49 -07:00
generatedunixname89002005287564
fc6c12b9c7 Daily common/rust/cargo_from_buck/bin/autocargo
Reviewed By: farnz

Differential Revision: D27458795

fbshipit-source-id: 6d4f0e8ebcebe2f71e1152a61bf6511230c31af5
2021-03-31 02:34:06 -07:00
Stanislau Hlebik
0602866bfb mononoke: return an error if fastlog dir/file are missing
Summary:
When going into a root unode we check if fastlog is derived or not. if it's not
derived we don't even try to check fastlog dirs/files, and that's correct.
However that means that if fastlog batch for a given commit is derived than
we could (and should!) check if all fastlog batches referenced from this
commit exist.

Previously we weren't doing that and this diff fixes it. Same applies for hg
filenode.

Reviewed By: ahornby

Differential Revision: D27401597

fbshipit-source-id: 71ad2744eee33208c44447163cf77bc95ffe98d0
2021-03-31 01:41:02 -07:00
Xavier Deguillard
49b103584c nfs: call incFsRefcount when giving an InodeNumber
Summary:
During an `hg update`, all the loaded inodes are unloaded and forgotten, except
the ones that had a positive refcount, these are forgotten when FUSE calls the
`forget` API. For NFS, this `forget` API doesn't exist but the protocol relies
on file handle to stay valid for some time. The duration for which a file
handle need to stay alive depends on several factor. The root one needs to
always be valid, the rest relies on the lookup cache that the client keeps.
This lookup cache is invalidated when the mtime for the parent directory
changes, but mtime changes are often not immediately detected, as attributes
are cached client side with the `acdirmin` and `acregmin` for directories and
files.

For now, this diff doesn't attempt to deal with files being out of date right
after an `hg update`, it merely accounts for the NFS client being able to pass
old file handles to EdenFS. The astude reader will have noticed that
InodeNumber are never reclaimed for now, for that, a time-based mechanism will
need to be added to forget InodeNumbers that have expired.

Reviewed By: kmancini

Differential Revision: D27405295

fbshipit-source-id: af4a4ce9e31bfcc335608da91f0247b50ab87b3f
2021-03-30 19:10:58 -07:00
svcscm
767d7043ba Updating submodules
Summary:
GitHub commits:

9e3804569d
04d98f2015
e6534900bd

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 85c2382ea88ed3d123b4d7c964557024b04dd643
2021-03-30 19:06:20 -07:00
Arun Kulshreshtha
e02211f0d9 http-client: factor out version parsing into separate function
Summary: In a later diff, I plan to make this `pub` in order to parse HTTP versions from the user's config.

Reviewed By: quark-zju

Differential Revision: D27449576

fbshipit-source-id: 28a60080393eff73399c65b9e808647b39603719
2021-03-30 18:57:08 -07:00
Stefan Filip
6d49f0092a segmented_changelog: fix update stats prefix
Summary: typo

Reviewed By: quark-zju

Differential Revision: D27448319

fbshipit-source-id: 5fe2a385b242f5f0f4d660c4dbc58cee793f4569
2021-03-30 18:24:13 -07:00
svcscm
d8f0f534bd Updating submodules
Summary:
GitHub commits:

c962077a90
deb71d7458
9418403c4b
89f55320d7
6d3addb4d6
2fd8815298

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 3651f3700f0c00a86bfcb3b9f3f6e381001456f0
2021-03-30 17:43:20 -07:00
Andrey Chursin
addfb9f600 simple util for ephemeral commits
Summary:
Production confidence team wants a simple tool to capture current state of the repo and get a commit hash in commitcloud
ephemeralcommit achieves that by making a hidden commit and pushing it to commitcloud

Main purpose of this is to use with ephemeral fbpkg, this produces relatively low volume of commits (comparing to total commit count).

This currently does not add untracked files, but removes missing files

Usage:
```
# note that when invoking from automatic tools need to specify -q
$ hg debugephemeralcommit -q
<hash of the commit>
```

Reviewed By: quark-zju

Differential Revision: D27339320

fbshipit-source-id: 07a4ea8ff80b80ce620fb609096db97f46d383dc
2021-03-30 16:16:47 -07:00
Jun Wu
3293397be7 tests: disable ignorerevnum for 2 potentially incompatible tests
Summary: They seem to fail because of ignorerevnum.

Differential Revision: D27445917

fbshipit-source-id: dae7884aeebbc4cd45c9b694ed035f0f26f2f094
2021-03-30 15:20:42 -07:00
svcscm
5408f53139 Updating submodules
Summary:
GitHub commits:

eff28df20a
b63e3b3dfb
3b7a0994cb
3c13503420
3eb0c9032f
1bd265f6f2
e8391206ea

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 9ba9ee6ae8a204b9b1e4a28b077b6ab5fa8645fb
2021-03-30 15:17:11 -07:00
Carolyn Busch
86996ffa9f tests: Remove errno.WSAEACCES
Summary: WSAEACCES is included in Windows only. Only check it if the os is windows.

Reviewed By: quark-zju

Differential Revision: D27434606

fbshipit-source-id: 25eb8036363b42629fbd010f7637a404dccff236
2021-03-30 11:20:56 -07:00
Jun Wu
6ca5be597f pycompat: replace isinstance(i, int) with pycompat.isint(i)
Summary:
`isinstance(i, int)` is problematic on Python 2 Windows:

  In [1]: isinstance(72057594037927936,long)
  Out[1]: True

  In [2]: isinstance(72057594037927936,int)
  Out[2]: False

Fix it by replacing `isinstance(_, int)` with a pycmpat function.

Reviewed By: DurhamG

Differential Revision: D27436107

fbshipit-source-id: 9d9d9f9359546a91a564d948718078a9aa594420
2021-03-30 10:43:04 -07:00
Jun Wu
8b76f8a7de tests: fix compatibility with ignorerevnum
Summary: Integration test and macOS tests did not run at diff time.

Reviewed By: DurhamG

Differential Revision: D27436108

fbshipit-source-id: ab94ec88bad8de42025f539023ab426002b9bed5
2021-03-30 10:43:04 -07:00