Commit Graph

81354 Commits

Author SHA1 Message Date
Muir Manders
afe4cd2290 smartset: fix commit text prefetching for repo scans
Summary:
Use nameset instead of idset to underly the fullreposet. The idset does not prefetch nodes, so there was a serial location_to_hash call for each "repo[rev]" context lookup. The nameset prefetches nodes under the hood, so "repo[rev]" is fast and the next layer of commit text prefetching fills up its 10k batch quickly.

Note that anything hitting this code will still be extremely slow since it scans all commits in the repo.

Reviewed By: zzl0

Differential Revision: D44438396

fbshipit-source-id: e1275a7a45f54cae1978820eb36d99a212fc4236
2023-03-27 19:12:15 -07:00
Wei Dai
23f1b480fe implement a basic working version of MonotonicCounter
Summary:
Before fbcode/common/stats/ codes are open sourced , implement a basic
working version of MonotonicCounter so that all hw tests using fb303 APIs like
 fb303::fbData->getStatMap() should just work

Reviewed By: jasmeetbagga

Differential Revision: D44441336

fbshipit-source-id: f3e0fe0a59523bf90dd1e99bdca7bf5eca212c58
2023-03-27 19:08:05 -07:00
Muir Manders
5b042fa73f tests: fix test-status-ignored.t
Summary: There was the classic same second race condition that left files NEED_CHECK after commit, and the tracing message had changed.

Reviewed By: quark-zju

Differential Revision: D44442614

fbshipit-source-id: 97486163301045825922f9b68ec00ff12e5432a7
2023-03-27 19:03:49 -07:00
Muir Manders
26dafdfc70 status: fix dir-becomes-symlink detection (watchman)
Summary:
Use the "exists" field from watchman to detect when a file has been moved behind a symlink. Watchman reports it properly as not-exists, but if we naively vfs.metadata(path), it may appear to be unchanged.

I added another layer of Option<> to the file metadata so watchman fs can explicitly say "this file doesn't exist", as opposed to only "I don't have metadata".

The alternative approach is to "audit" paths before we lstat them, but that is slow and we want to avoid if possible.

Reviewed By: quark-zju

Differential Revision: D44187187

fbshipit-source-id: e24a43cbdb36d9aabf2b0b7ae0c4d2eab66394c4
2023-03-27 19:03:49 -07:00
Muir Manders
ee6e258244 status: use watchman metadata to avoid lstat() calls
Summary: Now the Rust status requests file mode, size and mtime from watchman and uses them for file comparison in lieu of lstatting the files. This way, if nothing has changed (think fresh instance), or if file size has changed, we don't need to hit the disk at all!

Reviewed By: quark-zju

Differential Revision: D44033614

fbshipit-source-id: 54cd8bd6dddd7fb88e9538d72174ae88b2118550
2023-03-27 19:03:49 -07:00
Muir Manders
d81ff485ca status: add failing test for watchman optimization
Summary: Add a test showing we fetch file metadata after watchmant tells us a file changed. I'm going to optimize this away buy querying and using watchman's file metadata.

Reviewed By: quark-zju

Differential Revision: D44033616

fbshipit-source-id: 8b098a5868e20283d2fc98b198c70c4b086b9657
2023-03-27 19:03:49 -07:00
Muir Manders
cd760409ef workingcopy: add a file metadata abstraction
Summary: Add a Metadata type to abstract across the various places we get file metadata from. This doesn't buy us much right now, but will allow us to easily inject file metadata from Watchman into our file comparison logic.

Reviewed By: quark-zju

Differential Revision: D44033617

fbshipit-source-id: ed08e44df9ff44bb23e8fff031d431c4a519eaa4
2023-03-27 19:03:49 -07:00
Open Source Bot
c7b7ddcd61 Updating submodules
Summary:
GitHub commits:

46c2556adf

Reviewed By: jailby

fbshipit-source-id: 3e85d61d0c934f5300197aec218cc3d0c866eebf
2023-03-27 18:21:07 -07:00
Open Source Bot
26cf2a75a5 Updating submodules
Summary:
GitHub commits:

fbc8c97454

Reviewed By: jailby

fbshipit-source-id: ab43cc2314c537bac893c8570fbf3db21bea4b8d
2023-03-27 15:21:48 -07:00
Muir Manders
9166243220 chg: fix some compilation warnings on Mac
Summary: Use some #pragmas to ignore unreachable code warnings because sigemptyset on Mac can't return -1.

Reviewed By: quark-zju

Differential Revision: D44344187

fbshipit-source-id: bf650d20c38c950899aec3d8e7f91d18db4c031d
2023-03-27 13:34:31 -07:00
Open Source Bot
307ac3733d Updating submodules
Summary:
GitHub commits:

9bd2c41430
51f5815163
23eaf463c7

Reviewed By: jailby

fbshipit-source-id: d2b3fd75019dc3c34e5a918538c8201d331a9ff6
2023-03-27 12:20:57 -07:00
Muir Manders
0604dc8936 workingcopy: move HgModifiedTime to a new module
Summary: Going to be adding more "metadata" related stuff that depends on HgModifiedTime, so move this type first.

Reviewed By: quark-zju

Differential Revision: D44033613

fbshipit-source-id: 30c6173fc069fbb7553d6d9fffaea0fc774cb72f
2023-03-27 11:54:35 -07:00
Muir Manders
6ff1694cd5 status: add progress bar when updating treestate
Summary: This can take a few seconds if there are a ton of files (e.g. watchman fresh instance).

Reviewed By: quark-zju

Differential Revision: D44033611

fbshipit-source-id: 8e033eef68e2f4560b859d35f78da139f86abc97
2023-03-27 11:54:35 -07:00
Muir Manders
02dbee5d8d status: fix "comparing files" progress bar
Summary:
When using watchman, we show a progress bar as we compare the contents of files. Due to how the file detector works, this progress bar was staying at zero and suddenly jumping to the end. Fix by moving the progress bar into the ParallelDetector. I had to add a stupid method to the detector trait to set the total number of files.

I don't think the FileDetectorTrait is quite right. Ideally the user of the detector would own the progress bar. It would set "total" based on the work it has, and increment "position" as it receives results. However, currently you can't receive results until you have finished publishing work. We should tweak things to make this possible.

Reviewed By: quark-zju

Differential Revision: D44033612

fbshipit-source-id: a22b237eaf98f3bd55f5f79eccc3fe42e733a297
2023-03-27 11:54:35 -07:00
Muir Manders
9f970c188b status: show watchman crawl progress bar in rust
Summary:
While we are waiting for watchman to crawl the repo, call "debug-root-status" and pipe the file count into a progress bar.

The similar Python logic renders the "crawling" progress bar until the crawl is done and then proceeds with the query. In Rust I made it render the progress bar concurrently with the query. This should show the progress bar even if the repo has never been watched before (i.e. when there is no crawl until the query happens).

Reviewed By: quark-zju

Differential Revision: D44033615

fbshipit-source-id: 3c97fa7a63cd090b5ace82d7385f887e564eb9cf
2023-03-27 11:54:35 -07:00
Muir Manders
3f2ac5a8e1 workingcopy: skip root dir of nested repos in MultiWalker
Summary: The parallelized MutliWalker was skipping nested repo dot dirs (e.g. ".sl"), but wansn't skipping sibling files to the dot dir.

Reviewed By: quark-zju

Differential Revision: D43970586

fbshipit-source-id: 0cfd703a067f7db2087a6e692316eab192330b54
2023-03-27 11:54:35 -07:00
Muir Manders
83bb7745ef status: fix dir-becomes-symlink detection (non-watchman)
Summary:
Fix detection of a directory being replaced by a symlink. When the walker iterates tracked files not seen during the walk it now directly emits "deleted" events instead of going through the file detector. If tracked files had the same size and mtime "through" the symlink, the file detector's lstat() call would make it seem like there were no changes.

The alternative approach is to "audit" paths before we lstat them, but that is slow and we want to avoid if possible.

Reviewed By: quark-zju

Differential Revision: D44187186

fbshipit-source-id: 5678d6027b74283608bd0430e7acd3ae16cfb046
2023-03-27 11:54:35 -07:00
Muir Manders
f6c20c146d status: surface "invalid file type" errors
Summary: Show a warning about fifo etc. files instead of aborting the command.

Reviewed By: quark-zju

Differential Revision: D44187185

fbshipit-source-id: c4c01436ad21e4e15fcae9c5d04f1aaacc7e5c80
2023-03-27 11:54:35 -07:00
Muir Manders
744090a4f7 status: fix symlink dirty check
Summary:
The manifest stores a file as executable or symlink (mutually exclusive). A symlink on disk also has the executable bit(s) set, so the fs metadata (and by extension the mode in the dirstate) appears to be both symlink and executable. This is a recipe for confusion.

In Python it seems to work because the dirstate mode and fs mode both store the execute bit for symlinks, so they match when compared for executableness. (Although I wouldn't be surprised if they could get out of sync somehow.) The symlinkness check is achieved through the "flags" which does not include "x" if the file is "l".

Fix in Rust be applying the flags logic to the dirstate and fs metadata as well. In other words, if a file is a symlink, don't report it as executable. This makes the manifest file mode compare naturally with the dirstate and filesystem.

Reviewed By: quark-zju

Differential Revision: D43970590

fbshipit-source-id: b459e466dace5ee1c9cc7505d3c780be6ecd4685
2023-03-27 11:54:35 -07:00
Open Source Bot
b9f90ce4df Updating submodules
Summary:
GitHub commits:

9eafb5b479
9d0e079308

Reviewed By: jailby

fbshipit-source-id: cccae608f28b2772d1c8d9d9c5df16c55972fd7d
2023-03-27 11:20:54 -07:00
Jun Wu
f1697c5aea debugstack: add the ability to export wdir()
Summary:
Supporting exporting the wdir() virtual commit could make it easier for ISL to
obtain file contents for interactive commit or amend.

Before this change it will error out in the Rust dag layer, since the Rust dag
layer does not know about the special wdir commit (yet). This diff works around
it by adding some special logic about it. Note in the long term we would like
to add the virtual commits directly to the Rust dag logic so they can be
calculated without special casing.

Reviewed By: evangrayk

Differential Revision: D44231011

fbshipit-source-id: 27fce76afd2399502b30e15cca6c8f8986e1bc34
2023-03-27 10:39:27 -07:00
Jun Wu
aeed9b3e47 debugstack: "foo_bar" -> "fooBar"
Summary: "fooBar" matches the Javascript style more closely.

Reviewed By: evangrayk

Differential Revision: D44231009

fbshipit-source-id: 9fcad73a8454044d573472f446e0d7ff7cb90d88
2023-03-27 10:39:27 -07:00
Jun Wu
3377f02823 debugimportstack: command to import a stack
Summary:
This is the reversed direction of `debugexportstack`, to create commits from
automation. It also supports `goto` and `reset` to support partial commit
(commit, reset), absorb (commit*, reset), amend (commit*, goto) cases.

Reviewed By: muirdm

Differential Revision: D44231010

fbshipit-source-id: 03d2e5a7d577a2c6becb5e7d9f162fea191ad9af
2023-03-27 10:39:27 -07:00
Jun Wu
d65ce0c0c9 test-debugexportstack: add coverage test
Summary: Check that the test cases actually cover various logic in debugexportstack.

Reviewed By: zzl0

Differential Revision: D44231012

fbshipit-source-id: dbb24c7f87ecd11d23aae1707b68f77486177ef7
2023-03-27 10:39:27 -07:00
Jun Wu
97d4cc1d2e testing: add assertCovered for testing Python function coverage
Summary:
This makes it easier to verify that a complex Python function is fully
exercised.

Reviewed By: zzl0

Differential Revision: D44231013

fbshipit-source-id: 6269dae56acff4f29a6aa5b7ad0ab89c33601ee1
2023-03-27 10:39:27 -07:00
Zhaolong Zhu
23277a24c2 edenapi: add debug info for edenapi configs
Summary: Add debug info for edenapi configs to verify if it load the static_system configs correctly

Reviewed By: quark-zju

Differential Revision: D44298145

fbshipit-source-id: 96efb86c4e96a945b7329ae1e9cba3fdf57a5128
2023-03-27 10:20:51 -07:00
Ilia Medianikov
e9f9002dda scs/land_stack: log small repo commits to mononoke_new_commit category
Summary:
During cross-repo pushrebases, we need to log new commits both in large and small repos. But currently, due to the code organization, it is not too hard to forget logging in the small repo. Which is what happened in case of SCS land_stack method.

This land path was not covered, and only large repo commits were logged. For example, this led to most public opsfiles commits being missing from the category (sync to opsfiles_backup uses different code path and exposes the discrepancy):
{F912075962}
(https://fburl.com/scuba/mononoke_new_commit/8q0nbq8i)

Reviewed By: markbt

Differential Revision: D44187074

fbshipit-source-id: bba2bf112fc9326ae5fc177d421ec936a2bb5322
2023-03-27 09:28:24 -07:00
Open Source Bot
f00af0f593 Updating submodules
Summary:
GitHub commits:

13395377ed

Reviewed By: bigfootjon

fbshipit-source-id: 4a654daca8a9b00ce4010b65d374fa9f5eb8f23f
2023-03-27 09:20:01 -07:00
Mark Juggurnauth-Thomas
8aced3e694 cmdlib: move tokio runtime out of environment
Summary:
The environment is passed into the async runtime via an `Arc`.  If the last reference to the environment is dropped from within the runtime, then we end up destroying the runtime from within the runtime, which is an error.

Move the runtime out of the environment, and store it in the `MononokeApp` (new) or on the stack in `main` (old).  This means the runtime will live on the stack outside of the async runtime, and so execution of all async code should be complete when they are dropped.

Reviewed By: YousefSalama

Differential Revision: D44299775

fbshipit-source-id: 9a93ba49a8bbf376defdd0b5ddb1d6546b5ff12b
2023-03-27 07:13:45 -07:00
Liubov Dmitrieva
881cbac1ff rename "edenapi_replay_unsampled_duration_threshold_ms" to
Summary: rename to match edenapi_req_dumper_sample_ratio

Reviewed By: markbt

Differential Revision: D44416302

fbshipit-source-id: a7693c5e6d02e2c802b7da9702eb7ac2cad00c42
2023-03-27 06:59:37 -07:00
Liubov Dmitrieva
e09402f047 improve proxygen health check to take into account requests load
Summary:
Improve proxygen health check to take into account requests load. Configurable with a tunable.

Let's separate two completely different health checks because otherwise it is very confusing, and now we can configure them differently.

One is used for tupperware **/health**, and I created another one for monitoring VIP health  **/proxygen/health_check**.

**Background:**

During the overloads, we can see request load is very high (number of concurrently running requests), this is a good signal to see that a server is overloaded. So let's set up a limit like **20K requests** load and fail health check for a while until load decreases, so traffic can be automatically diverted to other tasks.

https://fburl.com/scuba/mononoke_test_perf/my8rnt9n

In a normal situation load is never higher 10K, see MAX metric

https://fburl.com/scuba/mononoke_test_perf/aqdf7pwm

Threshold can be configured via a tunable

**Current set up:**

At the moment we use nginx health check (default)

It’s configured to have health check every 10000ms https://www.internalfb.com/code/configerator/raw_configs/ti/teams/server_health/traffic_proxygen.nginx.json

**Current Alerts:**

The VIP health is based on the health check of the backend and the VIP has an alert will escalate to our oncall if some become unhealthy

https://www.internalfb.com/code/configerator/[master]/raw_configs/ti/alerts/vip-alerts/scm-mononoke-intern.detector

https://www.internalfb.com/code/configerator/[master]/raw_configs/ti/alerts/vip-alerts/scm-mononoke-intern_fail_open.detector

It will fire a major alert at **65%** capacity and then a ubn at **50%** capacity, this is per **DC**.

The alert is specific for us, we can reconfigure if we need

**New health check**

We can configure a custom health check using this editor:

https://www.internalfb.com/intern/traffic/editor?backend_workspace[0]=source_control_services.scm_mononoke&backend=source_control_services.scm_mononoke

We can create a new one like https://www.internalfb.com/intern/traffic/editor?backend_workspace[0]=source_control_services.scm_mononoke&health_check_workspace[0]=source_control.scm_mononoke_healthcheck&health_check=source_control.scm_mononoke_healthcheck

**New monitoring**

We can reconsider if **65% capacity and then a ubn at 50% capacity per DC** is what we need.

**TW health check has a different purpose**

TW will kill a task if health check fails for a configured period of time. For out tasks restarts are expensive.

https://www.internalfb.com/intern/wiki/Tupperware/Monitoring/Service_Health/#task-lifecycle-and-healt.

Reviewed By: clara-9

Differential Revision: D44369243

fbshipit-source-id: 3a2a1a1f83f1b17217e44026d19eb7c317859f7d
2023-03-27 06:44:07 -07:00
Zhaolong Zhu
1c92d0d72a debugcrdump: fix the issue of multiple downstream bookmarks
Summary:
Curently, `debugcrdump` returns an empty string for `branch` if there are multiple downstream remote bookmarks. This diff returns the first bookmark as the best guess, which should be the bookmark (commit) that the current local commit is based on.

Caveat: for multiple downstream bookmarks, it's a best effort guess, the algorithm is like:
1. For a given commit, find the first public ancestor.
2. For that ancestor commit, find all descendant commits that have remote
bookmarks sorted in ascending order.
3. If the descendant remote bookmarks contain "master", return that.
4. Otherwise report the first remote bookmark as the current branch. For draft commit,
this should be (best guess) the remote bookmark on which the draft commit was based
if user didn't run pull from remote server.

For example, if your commit graph looks like this, it will return `bookmark1` (first one) as the branch name, this is probably what you are expecting.

```
Y: public bookmark2
|
| a: draft (your local commit)
|/
X: public bookmark1
```

But if you run a `hg pull`, then the graph might look like below, it's impossible to know for certain which remote bookmark the local commit was made against. For now we also pick `bookmark1` as a guess.

```
Z: public bookmark2
|
|
Y: public bookmark1
|
| a: draft (your local commit)
|/
X: public
```

Related diff: D17814487, this was the diff that first added `branch` field.

Reviewed By: sggutier

Differential Revision: D44355664

fbshipit-source-id: b5287578d82c756f2d7035ae5ffa9a542ab957a0
2023-03-27 06:42:32 -07:00
Zhaolong Zhu
f3dfb881ca debugcrdump: add test-crdump-branch.t
Summary: this is for reproducing the issue of T148764976

Reviewed By: sggutier

Differential Revision: D44360807

fbshipit-source-id: 14400f9abc3ef6ca8e72d1c4a1f20b6ada6361fa
2023-03-27 06:42:32 -07:00
Liubov Dmitrieva
d401d3b747 improve README
Summary: improve README

Reviewed By: YousefSalama

Differential Revision: D44416831

fbshipit-source-id: 783fd3515e7b8ddcb344d5595a0a0ac90e04a865
2023-03-27 06:30:06 -07:00
Pierre Chevalier
7ff2ceffb5 Unflake segmented changelog test
Summary:
This test has been flaky practically since its creation, although below the threshold to be detected as such some of the times.
Looking at its journal, it failed its first stress run and more than half
of the stress runs thereafter (failed 1920 of them, passed 1519 of them).

The assumption that the test makes that we will always take the local path first
is not stable and has never been.

Match the test's expectations to the actual behaviour of mononoke for now.

If the behaviour is problematic, let's tackle it in its own time.

Note that this test was written here D34276252 in reaction to a change to
segmented changelog here D34041066 and the discussion on that diff is relevant
to establish the correctness of the code.

Reviewed By: RajivTS

Differential Revision: D44297278

fbshipit-source-id: 07f42fc11ca0aa637b59b5fc46263b65d624e0a4
2023-03-27 05:11:34 -07:00
Egor Tkachenko
bdd11d99e8 Add logging when service requests remote derivation
Summary: After enabling remote derivation we've lost related to derivation logging in the parent scuba table (like SCS server). This diffs add log tags, which indicates when we requested remoted derivation and when it was finished. In case of the error we already had the logging in place.

Reviewed By: Croohand

Differential Revision: D44297304

fbshipit-source-id: 1e2f6e279e111ce01b2feaf950a11c7b69a314cf
2023-03-27 01:36:08 -07:00
Open Source Bot
f048830b59 Updating submodules
Summary:
GitHub commits:

4388290b04
3f3dfd767a
55b0403a30
a044e48528

Reviewed By: bigfootjon

fbshipit-source-id: f8c07dacc97d6191a06fffbcd0408d4b668e6f53
2023-03-26 22:39:01 -07:00
Open Source Bot
59821597fc Updating submodules
Summary:
GitHub commits:

7afc577c9b
2b45b24f18
63a50327ec

Reviewed By: bigfootjon

fbshipit-source-id: 0b66e42ecf2f3ab4eb00cced3fb44dabc106f246
2023-03-26 04:17:14 -07:00
Open Source Bot
8a9b0e151f Updating submodules
Summary:
GitHub commits:

cfc0724ace
3f3673fd46
bbf6ea698c

Reviewed By: bigfootjon

fbshipit-source-id: f46cfec1954b79f57dbb8831480166cff73a6da2
2023-03-25 17:08:38 -07:00
Genevieve (Genna) Helsel
98208bd49c scmstore: add --local flag to debugscmstore
Summary: useful for checking if an object is in the hgcache or not

Reviewed By: quark-zju

Differential Revision: D44316641

fbshipit-source-id: f16093ec1659a8f139b88e702dbd1d8646319c8a
2023-03-25 16:19:06 -07:00
Open Source Bot
b5a72ba3e8 Updating submodules
Summary:
GitHub commits:

50a5b48e67
449fd2fa7a
312b5e5681

Reviewed By: bigfootjon

fbshipit-source-id: e16713004c821c2a79156af7beed6131a7d4ac9c
2023-03-25 14:16:28 -07:00
Open Source Bot
b1f6595ef7 Updating submodules
Summary:
GitHub commits:

994f0348bb

Reviewed By: bigfootjon

fbshipit-source-id: 01abf3db93696b710e939cb158f0ff44720e108a
2023-03-25 02:34:46 -07:00
Michael Cuevas
607c148bc6 integration: remove unused import in update_test
Summary: title

Reviewed By: xavierd

Differential Revision: D44349843

fbshipit-source-id: 21e3ff2c32e63d8885b9bbe3222fefb235708550
2023-03-24 21:21:47 -07:00
Michael Cuevas
d5286fd21a integration: move _open_locked to utils module
Summary: In the next diff, we'll use this util function to acquire an exclusive handle to a file for a prjfs integration test.

Reviewed By: xavierd

Differential Revision: D44349708

fbshipit-source-id: ded7037266f539c681569f0c90f875717760fed5
2023-03-24 21:21:47 -07:00
Michael Cuevas
96622ff4bd PrjFS: add LogEvent for fileNotification failures
Summary: We are running into fileNotification() failures way more often than we expect on Sandcastle (5% of certain jobs are failing). Let's add some logging here to see if the failures are also happening to users.

Reviewed By: xavierd

Differential Revision: D44350819

fbshipit-source-id: 3be7578dccc297071280f528b53270a63994a99d
2023-03-24 21:21:47 -07:00
Open Source Bot
7fe70ea88a Updating submodules
Summary:
GitHub commits:

6442718611
109be99e41

Reviewed By: bigfootjon

fbshipit-source-id: 9c75f0e170a10e2b6cf1913b407f117f1f4091e5
2023-03-24 19:08:15 -07:00
Open Source Bot
c012acb457 Updating submodules
Summary:
GitHub commits:

316a405e3b
de848dfa01

Reviewed By: bigfootjon

fbshipit-source-id: 3a75a68bb7980e229959b3280214751968a19e5e
2023-03-24 14:46:27 -07:00
Chad Austin
e419dd2799 remove the reference-counting overhead from DurationScope
Summary:
DurationScope has a pair of atomic reference count operations at the
beginning and end of every recorded duration. To avoid that overhead,
reference EdenStats with RefPtr and, in production EdenFS, store a
global, unowned EdenStats object.

This gives us the benefits of explicit dependencies and no global
state in tests, while avoiding atomic RMWs in the release build.

Reviewed By: xavierd

Differential Revision: D44323723

fbshipit-source-id: 1b3384d2e6a0a2959fd79774a8ba46afc4c176ca
2023-03-24 13:50:40 -07:00
Pierre Chevalier
7ef796bc1c Derive Default on Enums
Summary:
In Rust 1.68.0, the `derivable_impls` clippy lint [got smarter](https://github.com/rust-lang/rust-clippy/pull/10161).
Fix all instances of that lint in Mononoke, mute one that's impractical to address.

Reviewed By: markbt

Differential Revision: D44378068

fbshipit-source-id: 473a051a7001d9596db43f47b56cbad5f5db7efe
2023-03-24 13:41:24 -07:00
Pierre Chevalier
c0a82f23bd Remove useless into_iter() calls
Summary:
In Rust 1.68.0, the `useless_conversion` clippy lint [got smarter](https://github.com/rust-lang/rust-clippy/pull/10020).
Fix all instances of that lint in Mononoke.

Reviewed By: markbt

Differential Revision: D44378069

fbshipit-source-id: acfd6c77c6a400830c378b4040661323e7232441
2023-03-24 13:41:24 -07:00