Commit Graph

81354 Commits

Author SHA1 Message Date
Open Source Bot
bf06e5986b Updating submodules
Summary:
GitHub commits:

b66501baf0
0ad64cc899
9da814ace4
7fa08144fe

Reviewed By: bigfootjon

fbshipit-source-id: cd11023db19837639b52c185c6501db275173f78
2023-03-24 13:40:07 -07:00
Michael Cuevas
5ec5c7d563 Back out "edenfsctl: log stderr from Python commands"
Summary:
Original commit changeset: 8c2f66457761

Original Phabricator Diff: D44111246

This seems to be causing stdout ordering issues too, possibly because of PYTHONUNBUFFERED environment variable

Reviewed By: fanzeyi

Differential Revision: D44356269

fbshipit-source-id: 707495d785987308d9c4617a582ccb8613ed5016
2023-03-24 13:08:53 -07:00
Open Source Bot
6af4356728 Updating submodules
Summary:
GitHub commits:

8e730b60a8
465b1c8342
d62b5cf5a3
e64df4dc31

Reviewed By: bigfootjon

fbshipit-source-id: b66f46597d97299959190d21c0bda3e367cbc606
2023-03-24 12:49:07 -07:00
Open Source Bot
9ff59f4a41 Updating submodules
Summary:
GitHub commits:

d0bf34e0fa
8b9f75f59e
e5716a8bf9

Reviewed By: bigfootjon

fbshipit-source-id: 8b529cebf55d49080d1d2b54ed182b22a15bb85c
2023-03-24 11:51:08 -07:00
Mark Juggurnauth-Thomas
7adc50cf69 edenapi: monitor long-running requests
Summary: If an EdenAPI request is taking too long, we currently have no signal into this until it either completes or is cancelled.  As for wireproto, add logs for long-running requests.

Reviewed By: liubov-dmitrieva

Differential Revision: D44340299

fbshipit-source-id: e24bed96505964c519ea85748207670ded3baacb
2023-03-24 11:05:45 -07:00
Mark Juggurnauth-Thomas
917e1865f3 edenapi: add tunable limit for large tree metadata
Reviewed By: mitrandir77

Differential Revision: D44334056

fbshipit-source-id: b5c79c767876caba4720191b97180eaea202c78e
2023-03-24 11:05:45 -07:00
Mark Juggurnauth-Thomas
e78f4fba36 stats: log streams stats when streams are cancelled
Summary:
When streams are cancelled we lose all of their stats, as they only get logged after the stream is polled to completion.

Make the stream stats callback synchronous (we don't actually use its async nature), which means we can call it from a `Drop` implementation, allowing us to log the stats even when the stream is not completed.

To distinguish the two cases, we add a "completed" flag, which is true if the stream was polled to completion.

This also makes `completion_time` optional, as we don't have a value for this if the stream was never polled at all when it got dropped.

`TimedStream` had an implicit fuse-like nature (once completed the stream would never yield anything again), which we rely upon, so make sure this property is maintained.

Reviewed By: liubov-dmitrieva

Differential Revision: D44331959

fbshipit-source-id: 5a7d9875a4d7fd4276c304b6c30ff45c6b990b38
2023-03-24 11:05:45 -07:00
Evan Krause
148bf4dd9d VS Code extension 0.1.11
Summary: Version bump and changelog entry for new OSS vscode extension release

Reviewed By: quark-zju

Differential Revision: D44314900

fbshipit-source-id: b1e48ecfaa1735d60b3e7e7faaf0e1eec2dabd28
2023-03-24 10:22:40 -07:00
Mark Juggurnauth-Thomas
efddf499d1 virtually_sharded_blobstore: ensure future is removed even if cancelled
Summary:
As Croohand pointed out on D44183928, if the shared future is cancelled, the `WeakShared` will linger in the collection until the next read of that key.  If the read of that key never comes, it will never be cleaned up.

Switch to a scopeguard, that we move into the future.  This will execute the code to remove the shared future whether the future succeeds, fails, or is dropped.

Reviewed By: Croohand

Differential Revision: D44342772

fbshipit-source-id: 37fb15d126d8289d61ab33f64f6e1cf9f7a8550d
2023-03-24 10:02:48 -07:00
generatedunixname89002005307016
4f0cd7b2d2 Add annotations to eden/scm/edenscm/ext/github/pr_marker.py
Reviewed By: zzl0

Differential Revision: D44367495

fbshipit-source-id: 8b33e503317b478e151aa252aec8b91a40bf0f9c
2023-03-24 09:52:19 -07:00
Ilia Medianikov
6ae2f500f4 mononoke/scribe_logging: override WhenceScribeLogged to always log to prod instead of default
Summary:
In production we use Logger to log to Scribe (e.g. to "mononoke_new_commit" category). It has WhenceScribeLogged enum field which can be "default", "prod", "sandbox", etc.

Without override, Logger sets "default" value that usually resolves to "prod", **but** it resolves to "sandbox" if code is run from devserver. "sandbox" means we log data to "/sandbox" category instead of usual place.

This is confusing/harmful for us since we only configure to use Logger while working with prod data. For example, if we run SCS locally and land to prod using "land_stack", the commit will go to prod while logging will go to sandbox category. On the other hand, if we run Mononoke Bootstrap to work with a test repo, we don't use Logger at all so the "sandbox" category has no benefit.

We can add more complexity to the Mononoke logging configuration, so we are able to override WhenceScribeLogged in any way we want. But for now, I suggest overriding it in place with "prod" value since we only use Logger in prod. Later we can even simplify the config by removing the old way of logging directly to Scribe and leave just two options: test (log to file) and prod (log via Logger using the "prod" override).

Reviewed By: markbt

Differential Revision: D44118890

fbshipit-source-id: 8d4b9faa6f1f2da1faa96db35dd567102ccde34d
2023-03-24 08:39:35 -07:00
Open Source Bot
7915d218aa Updating submodules
Summary:
GitHub commits:

a634f909a0
ad3eea5a5b

Reviewed By: bigfootjon

fbshipit-source-id: 922ffb1fbac5a2ffe0fa21664c4898894fa4000e
2023-03-24 08:16:39 -07:00
Open Source Bot
ff5f2301d2 Updating submodules
Summary:
GitHub commits:

6fbae558b0

Reviewed By: bigfootjon

fbshipit-source-id: 6f8278f6d8c2f25092b24aa41cee5f32c6e5ac3b
2023-03-23 23:53:00 -07:00
Muir Manders
2d2c96b796 graphql: update things to work off-vpn
Summary:
We use interngraph GraphQL queries for a few things (phabricator diff info, scmquery log integration).

First, move the graphql endpoint config from static to dynamic config and vary it based on domain.

Finally, set x-x2pagentd-inject-cat in GraphQL request header when using x2pagentd. This replaces the oauth token mechanism, even for existing VPN/corp use. Note that the off-vpn endpoint rejects requests with both x-x2pagentd-inject-cat header and access_token in the body. We can delete the oauth stuff once we are confident in the x2pagent usage here.

Reviewed By: quark-zju

Differential Revision: D44317674

fbshipit-source-id: 329d63207fd9a5b19a145e12b491e270b5924571
2023-03-23 22:17:29 -07:00
Muir Manders
4ad9fbcf60 graphql: respect auth_proxy.unix_socket_path
Summary:
Send graphql queries over the local proxy socket, if configured. This is a prerequisite for off-VPN compatible access.

I added an escape hatch config phabricator.use-unix-socket we can use to disable this if someone breaks.

Also, kill apparently dead phabricator_graphql_client_requests.py.

Reviewed By: quark-zju

Differential Revision: D44317673

fbshipit-source-id: 52b58ce7899ce7291b700a9fe206da6011f740e5
2023-03-23 22:17:29 -07:00
Muir Manders
c0dcb56428 dynamicconfig: bust cached config when vpnless config changes
Summary: Compare file mtimes so we synchronously regenerate dynamic config if the user has modified /etc/mercurial/vpnless. This way things will work off-VPN immediately after writing "1" to /etc/mercurial/vpnless.

Reviewed By: evangrayk

Differential Revision: D44263217

fbshipit-source-id: 1f09591336b7dc1294e1f21fafebce7962859d70
2023-03-23 22:17:29 -07:00
Muir Manders
2a8cae6908 dynamicconfig: support fetching remote config off VPN
Summary:
To support VPNless access, we need to fetch the remote config through x2pagentd, setting a CAT related header.

I tweaked the order of config loading so the remote config fetch has the system "auth_proxy.unix_socket_path" config setting available.

Reviewed By: quark-zju

Differential Revision: D44263216

fbshipit-source-id: 5b8e6c4c9c7a5ab22ecfcfa62a537623931a63bf
2023-03-23 22:17:29 -07:00
Open Source Bot
39459bf8a1 Updating submodules
Summary:
GitHub commits:

48bbea1824

Reviewed By: bigfootjon

fbshipit-source-id: dd9485106b9b92427771d2ad4362cae19a074cd7
2023-03-23 22:06:26 -07:00
Evan Krause
a2c15fbdde Render draft PRs
Summary:
Now that we support passing `--draft`, we need to render diffs as drafts in the UI.

This diff adds support for showing draft github PRs.

We need to fetch `isDraft` in our graphql. For some reason, this isn't a PR `state`, even though it supercedes the OPEN state. So although we fetch it as `isDraft`, it's much more convenient in our code to treat it as another state.

Reviewed By: muirdm

Differential Revision: D44343542

fbshipit-source-id: 3cd324d44b6345da3e92e9a3f1ffccac3c8921eb
2023-03-23 22:01:15 -07:00
Evan Krause
acc1122466 Show draft checkbox when committing instead of amending
Summary: A small oversight in the SubmitAsDraftCheckbox meant that in the "commit" mode, the draft checkbox wouldn't appear even though it's valid to submit as a draft. We should just explicitly pass `[]` when creating a new commit to submit, and then allow that case in our logic.

Reviewed By: quark-zju

Differential Revision: D44342932

fbshipit-source-id: 3aaf4c00194a19030fad8b5b910bcf08d2354803
2023-03-23 22:01:15 -07:00
Evan Krause
e4551d843a Respect draft checkbox when confirming ghstack vs sl pr
Summary:
Small fix, if you submit for the first time in a github repo, it will ask if you want to use ghstack or sl pr. That submit process doesn't respect the draft checkbox you may have selected in the commit info.

I don't think we need to show the draft checkbox _again_ in the interstitial confirmation, since you already selected it before pressing submit, which is the normal condition for using the draft checkbox.

Reviewed By: muirdm

Differential Revision: D44342933

fbshipit-source-id: c720153dd103b98a7936bf3dc3e76ff608007bce
2023-03-23 22:01:15 -07:00
Open Source Bot
3d97e1a149 Updating submodules
Summary:
GitHub commits:

a1e9a04a6b
61c5dd1832

Reviewed By: bigfootjon

fbshipit-source-id: e9026e4db1e6e232fe9ceef211fadad69004ca0b
2023-03-23 20:23:59 -07:00
Chad Austin
5aa50eb024 remove some unnecessary includes from ObjectStore.h
Summary:
ObjectStore.h includes too many headers. Replace several with forward
declarations.

Reviewed By: xavierd

Differential Revision: D44323736

fbshipit-source-id: 944cd72fd758df4363493f87a573d91245a45b6a
2023-03-23 20:04:45 -07:00
Open Source Bot
149bc55688 Updating submodules
Summary:
GitHub commits:

8d0f42d941
0b2d209c9d
8975eb4719
74dca4de64

Reviewed By: bigfootjon

fbshipit-source-id: 36690c4261624f4398cd066e9fdc34b6524e8f58
2023-03-23 18:57:05 -07:00
Open Source Bot
408fe6f880 Updating submodules
Summary:
GitHub commits:

255c2b314e
203fa67b9d
33c40fda3a

Reviewed By: bigfootjon

fbshipit-source-id: cd692d54e4dbd1d0441dfd97d4da355c1070fe5a
2023-03-23 13:20:00 -07:00
Xavier Deguillard
3ba7532fe7 config: flip the default of several rollouts
Summary:
All of these configs have been enabled by default for a bit, let's change their
default before we can fully remove them from the code.

Reviewed By: genevievehelsel

Differential Revision: D44234768

fbshipit-source-id: 922093a64b91c9a45f84349ea50afc1c08fd6a39
2023-03-23 13:14:55 -07:00
Jeremy Fitzhardinge
3fe40d1f02 third-party/rust: update tracing-subscriber for Option<Filter>
Summary: Import https://github.com/tokio-rs/tracing/pull/2402 until it lands.

Reviewed By: zertosh

Differential Revision: D41689583

fbshipit-source-id: f1923244fcc652ba4dfcd6064aa37926a2b79bc7
2023-03-23 12:41:48 -07:00
Open Source Bot
bd17916f40 Updating submodules
Summary:
GitHub commits:

eddfed0dae
e66f2079e2
d163ff16c8
281efd3423
b5657cccb8

Reviewed By: bigfootjon

fbshipit-source-id: e759099cf62e0dd0f3f673abf0b23d4498ea76bc
2023-03-23 12:25:35 -07:00
Michael Cuevas
03bb49ffcd PrjFS: fix compiler warning and possible bug
Summary:
XLOG(DFATAL) is non-fatal in production builds, so it's possible we'll fall through here. It's unclear what the compiler will do in this scenario, so let's make sure we return folly::unit to avoid any compiler weirdness.

This may be causing a frequent crash on Sandcastle hosts where we're panicking after logging this DFATAL error. The crash looks like it's coming from an invalid instruction, so falling through here could be the root cause.

Reviewed By: xavierd

Differential Revision: D44314543

fbshipit-source-id: 6d23ffa221d7af4e7be641349eab1eb9027443a1
2023-03-23 10:18:33 -07:00
Mark Juggurnauth-Thomas
2fa948e8a5 warm_bookmarks_cache: add warmer for bssm
Summary: Basename suffix skeleton manifests are not been warmed by the warm bookmark cache.  This means requests that need these are slowed down while they are derived.  Add a warmer for them.

Reviewed By: yancouto

Differential Revision: D43906545

fbshipit-source-id: e1f77b5fe2a7a4512bfc49bf8047afef9b441fa9
2023-03-23 10:09:00 -07:00
Muir Manders
0d801b07d9 kill phabricator extension
Summary: This doesn't appear used anymore (superseded by phabdiff and phabstatus extensions).

Reviewed By: evangrayk

Differential Revision: D44263215

fbshipit-source-id: 323da45474a6cd1f9df730fdce23f4f42e836fb8
2023-03-23 07:24:46 -07:00
Open Source Bot
0919046e30 Updating submodules
Summary:
GitHub commits:

9b313e2d13

Reviewed By: bigfootjon

fbshipit-source-id: 4398acf93c32d22238246b0df0f01c2605483c97
2023-03-23 05:57:00 -07:00
Open Source Bot
12dafb8f6b Updating submodules
Summary:
GitHub commits:

f36b13d505

Reviewed By: bigfootjon

fbshipit-source-id: 98d782f8a05c02e5dd9389d980b2c40cb4f68f2f
2023-03-23 05:07:40 -07:00
Liubov Dmitrieva
26fb45f25f do not sample out slow requests
Summary:
do not sample out slow requests in edenapi replay

we already don't sample them in mononoke test perf

if we also don't sample here, we will have more insight in those and also we will be able to replay

Reviewed By: clara-9

Differential Revision: D44258777

fbshipit-source-id: 597fc475062b23eb24b0c61024eea9046b808420
2023-03-23 04:13:52 -07:00
Open Source Bot
ff6bec15a8 Updating submodules
Summary:
GitHub commits:

d5ac2417ce

Reviewed By: bigfootjon

fbshipit-source-id: 6125cdef6fc1110e5f687871e280815b1673b7b7
2023-03-23 02:37:56 -07:00
Mark Juggurnauth-Thomas
931e89a1cd virtually_sharded_blobstore: deduplicate reads of large blobs
Summary: Deduplicate reads of large blobs by using a shared future for any in-flight reads.  If another read for the same key comes in after then we will read it again, but there should be at most one read in flight for a particular key at a time.

Reviewed By: Croohand

Differential Revision: D44183928

fbshipit-source-id: d6911422a6e16b3dd246dd48cbce4390e6856940
2023-03-23 02:22:35 -07:00
Mark Juggurnauth-Thomas
7eae254179 virtually_sharded_blobstore: make it possible to convert Ticket to static lifetime
Summary: Make it possible for tickets to become `'static` by using `std::borrow::Cow` for the borrowed values, and converting to the owned variant if needed.  We will use this to shared futures that hold a ticket.

Reviewed By: Croohand

Differential Revision: D44262842

fbshipit-source-id: 2c549b2f2f3724c6485b41463b973273211dfe77
2023-03-23 02:22:35 -07:00
Mark Juggurnauth-Thomas
d3b53a9bfd virtually_sharded_blobstore: move awaited check to inner struct of Ticket
Summary:
The `awaited` boolean on the `Ticket` structure and corresponding `Drop` makes it impossible to move out of the fields of `Ticket`.  This is inconvenient, especially since it only enables a unit test check.

Move the field to a structure that's internal to the `Ticket`.  We still check for failure to await, as dropping the `Ticket` with a `CheckAwait` that hasn't been marked as awaited will still panic during tests when the inner `CheckAwait` gets dropped.

Reviewed By: Croohand

Differential Revision: D44270321

fbshipit-source-id: 29429c40243b31dcc1a5046969b85fb7a15fd0aa
2023-03-23 02:22:35 -07:00
Mark Juggurnauth-Thomas
b1c504f22c mononoke_api: remove success log for new commit graph
Summary: This log was useful while we were testing the new commit graph, but now it is too noisy and should be removed.

Reviewed By: liubov-dmitrieva

Differential Revision: D44297423

fbshipit-source-id: c9969d4a0b4709ea2065f19508ae6b51a7ee6baf
2023-03-23 01:30:34 -07:00
Open Source Bot
4fdc51d40d Updating submodules
Summary:
GitHub commits:

0c55eb5c09
fcd9edc514

Reviewed By: bigfootjon

fbshipit-source-id: f94cdb3e1671eeb13e656c11f3ffbea73124a77f
2023-03-23 00:47:46 -07:00
Michael Cuevas
f6ade70378 edenfsctl: log stderr from Python commands
Summary: We previously only logged the error code of any failed Python commands. This means we have no insight into why Python commands were failing.

Reviewed By: chadaustin

Differential Revision: D44111246

fbshipit-source-id: 8c2f66457761ddd8b90ff4fb307152cd27ffa00a
2023-03-22 21:12:36 -07:00
Xavier Deguillard
d1d5134f70 prjfs: add telemetry for invalidation times
Summary:
During checkout, these 2 are called a large amount of time, let's make sure we
have some telemetry so we can understand how much time is spent doing
invalidation during checkout.

Reviewed By: chadaustin

Differential Revision: D44311711

fbshipit-source-id: 5af62fe7fd4b37972458bc545bfaa2f4b4d2ca53
2023-03-22 20:04:41 -07:00
Xavier Deguillard
317e55ca91 inodes: use EdenStats with shared_ptr, not raw pointers
Summary:
This makes lifetime easier to reason about, and allows easier use of
DurationScope (see next diff).

Reviewed By: chadaustin

Differential Revision: D44311712

fbshipit-source-id: 1f9f4cbcc59bafeb464e2b39a248958cedaf9ca6
2023-03-22 20:04:41 -07:00
Xavier Deguillard
dfb6efba3c config: change nfs.iosize default value
Summary:
Running the benchmarks/random_writes.cpp benchmark on all power of 2 from 4KiB
to 1MiB shows that 16KiB has the best tradeoff between fast random writes and
fast streaming writes.

Reviewed By: chadaustin

Differential Revision: D44320693

fbshipit-source-id: 2d1839caca3c30acdb6ffc675710a68359d03a76
2023-03-22 18:48:31 -07:00
Open Source Bot
2ea5659fdc Updating submodules
Summary:
GitHub commits:

79adcae842
88137a41ec
fb47134328

Reviewed By: bigfootjon

fbshipit-source-id: 80744047f3aecb409f80f114cd7bbe6d56471dd6
2023-03-22 18:35:21 -07:00
Open Source Bot
1eda285948 Updating submodules
Summary:
GitHub commits:

07be0b4ba5
3bd79de877
508bb66b97
d61001ed00
f3595acb0a
9bc6bf2b3c
18b76cc469
889487bd42
055f93f852
481f16a49c

Reviewed By: bigfootjon

fbshipit-source-id: 5e0d334c06bb9c41919a25f79e6f8664df9225c0
2023-03-22 17:43:34 -07:00
Xavier Deguillard
00db4f8673 integration: remove FOLLY_INIT_LOGGING_CONFIG from helpers
Summary:
This one slipped through D44263797 and allows for integration tests to be run
with Buck2 on macOS.

Reviewed By: fanzeyi

Differential Revision: D44315942

fbshipit-source-id: d2de0773ba68f13fca9e8d5c067b82653646c757
2023-03-22 17:05:50 -07:00
Open Source Bot
bb18f32609 Updating submodules
Summary:
GitHub commits:

22ec95b797
10125d4909
f52723463e
ba986ebec7
752363f66d
f60c775fb3
e16a3a9e8d
f120ebce9f
9f17a69bac
5318f5ea78
0ab1385125
e7d6a1b7af

Reviewed By: bigfootjon

fbshipit-source-id: 2230272878460443fb95e63b05e59ad0cf023664
2023-03-22 16:40:48 -07:00
Evan Krause
919d9c4900 Support drawdag in integration tests
Summary:
use `sl drawdag` to create test histories in integration tests. This is easier to read and quite powerful. Our tests are currently very basic, but later on this will be much nicer than manually calling `sl commit` a bunch.

This diff also splits our one integration test into two tests, so we have one test for commits and one for uncommitted changes.

Reviewed By: quark-zju

Differential Revision: D44280889

fbshipit-source-id: 06afa031e622753a51b28401e3f0da7e49a0bcfe
2023-03-22 16:27:54 -07:00
Evan Krause
12efe5f2ae respsect --verbose in integration tests
Summary: Small quality of life thing for integration tests, don't render all the server output and communication messages unless you run `yarn integration --verbose`.

Reviewed By: quark-zju

Differential Revision: D44279103

fbshipit-source-id: 22962f1a9c5733fee20ada11456c43515aa28f76
2023-03-22 16:27:54 -07:00