Commit Graph

61730 Commits

Author SHA1 Message Date
svcscm
f4e9f1c95c Updating submodules
Summary:
GitHub commits:

6b29295250

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 3960bf61b676a473789fb91785dab8eef2dcef87
2020-11-14 08:02:21 -08:00
svcscm
507fd5f180 Updating submodules
Summary:
GitHub commits:

bd48128e22
3e46a01b5d
575b36b5c8
7062f63712

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 8557b2a824a3a1800beb9c9fe56fa9b224fdf27c
2020-11-13 15:34:32 -08:00
Xavier Deguillard
27f08fc126 utils: remove ServiceAddress
Summary: This is unused, except in tests, so let's just remove it.

Reviewed By: chadaustin

Differential Revision: D24930011

fbshipit-source-id: cb132962e1dff9d12ce12e7eb75bd34a026c58b7
2020-11-13 15:19:38 -08:00
svcscm
d4aef93bad Updating submodules
Summary:
GitHub commits:

768b204f12
067e147382

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 160febddedf3575486e724abfc4c588bb90fecf3
2020-11-13 15:19:37 -08:00
svcscm
d69875cdfb Updating submodules
Summary:
GitHub commits:

d28f475cae
cfb8b1be23
a7a7940e71
7e012e8f4e
3f07673354
214dc0a1cd

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 3a25080f11536d479b7fdb73a2c5db0ff7ec31b2
2020-11-13 14:33:24 -08:00
Xavier Deguillard
8b82dc96cb prjfs: make readdir asynchronous
Summary:
As of right now, opendir is the expensive callbacks due to fetching the sizes
for all the files in a directory. This strategy however breaks down when
timeouts are added as very large directories would trigger the timeout, not
because EdenFS is having a hard time reaching Mononoke, but because of
bandwidth limitation.

To avoid this issue, we need to have a per-file timeout and thus makes opendir
just trigger the futures, but not wait on them. The waiting bit will happen
at readdir time which will also enable having a timeout per file.

The one drawback to this is that the ObjectFetchContext that is passed in by
opendir cannot live long enough to be used in the size future. For now, we can
use a null context, but a proper context will need to be passed in, in the
future.

Reviewed By: wez

Differential Revision: D24895089

fbshipit-source-id: e10ceae2f7c49b4a006b15a34f85d06a2863ae3a
2020-11-13 14:27:26 -08:00
svcscm
dca309c1e5 Updating submodules
Summary:
GitHub commits:

95d61e29df
0ca5262dc6
9b8c1eb7f9
04eafeb6f1
1aae41786a
ef77860a2f
6b5f792b42
441fd72296
84920f2679
bc70f0be9d
76fce83ee7
9b0131179f
e022b59047
0212cce374

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 47d908e7ebef6818fcd52386c60178fd502ad768
2020-11-13 13:57:54 -08:00
Katie Mancini
219a7ff280 Change Prefetch Profiles command name
Summary:
The rest of the non debug commands use - instead of _.

Lets flip the prefretch profiles cli to be consistant.

Reviewed By: genevievehelsel

Differential Revision: D24910172

fbshipit-source-id: a5f18a9c9d5fb4ef9417f14ef9d053cdc1599d76
2020-11-13 12:28:15 -08:00
Katie Mancini
e35c20640a Fix Prefetch Profile Summary
Summary:
The second line of the summary got cut off due to a bad multiline comment
signals_oops

Reviewed By: wez

Differential Revision: D24909886

fbshipit-source-id: 844778e7d47a2b7b413fdd0c4fa0ef71dec9dadb
2020-11-13 12:28:15 -08:00
Katie Mancini
a614382e09 Skip metadata prefetch in eden prefetch
Summary:
`eden prefetch` can trigger  a bunch of wasted network requests to fetch metadata
when we are fetching files anyways. (These network requests are wasted since we
fetch the file contents and most of them are being throttled on sandcastle anyways.)

So lets skip metadata prefetching during eden prefetches.

Reviewed By: genevievehelsel

Differential Revision: D24658066

fbshipit-source-id: f8a32807a4e238222158f100cdd5ffa1b92fd833
2020-11-13 11:51:39 -08:00
svcscm
8a314fb309 Updating submodules
Summary:
GitHub commits:

837a263e6a
e3d932649a
2dbc0e56f3

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 9dd1493200d76c4d08b214658eaf28dc0ecb192f
2020-11-13 09:47:11 -08:00
Alex Hornby
0bb5c7cc51 mononoke: fix walker build
Summary: Fix the walker build.  Had a land race on non-conflicting lines.

Reviewed By: farnz

Differential Revision: D24953152

fbshipit-source-id: b3d43d745242542ba1a6df9ba730460112bee6dc
2020-11-13 09:41:29 -08:00
svcscm
c74bc19bc9 Updating submodules
Summary:
GitHub commits:

c46ffd4579

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 35c38f6863a9e9d4610c4096bf94f92545bfe692
2020-11-13 09:41:29 -08:00
svcscm
e833660f5c Updating submodules
Summary:
GitHub commits:

bc7b4d8337
92a7805669

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 8f83ab7a8ea3e53aaaa7b64be3ced11d4d43c39c
2020-11-13 08:22:52 -08:00
Kostia Balytskyi
550c9ccbff unbundle: add file change-based rate limiting
Summary:
This diff makes it possible to rate limit public or infinitepush pushes for individual repos based on the total number of file changes across all commits accepted in the given sliding window.

## Why support infintiepush rate limiting?

We want to hit the same servers with infinitepush and public traffic, yet we want to avoid the situation when a spike in infinitepush pushes (like after a rebase of a huge codemod stack) makes our servers incapable of serving public writes.

## Why support public rate limiting?

I don't think there's any reason to do it, but it's essentially free, so why not.

## Why per repo rather than cumulative?

If we only rate-limit cumulative traffic, a single misbehaving repo can fill in the quota and prevent other repos from accepting any traffic even with small limits.

Reviewed By: mitrandir77

Differential Revision: D24871837

fbshipit-source-id: 6da36794b2fdddd70f1a54e0afeaa4c49065a98d
2020-11-13 08:09:50 -08:00
Alex Hornby
e417b1e361 mononoke: add step to UnodeFile parents
Summary: Step into history via UnodeFile parents to check they are valid

Reviewed By: markbt

Differential Revision: D24838456

fbshipit-source-id: 3b19973f9f7da6e502595b4ffa33a031e1df03ab
2020-11-13 05:25:59 -08:00
Alex Hornby
48a94f1795 mononoke: add step from UnodeFile to linked Bonsai Changeset
Summary: Check that the UnodeFile's link is good by stepping to it.

Reviewed By: markbt

Differential Revision: D24838458

fbshipit-source-id: c6c8ef5dc580bb591f484df659a76f0ba43a68e6
2020-11-13 05:25:59 -08:00
Alex Hornby
77d5b4d8e8 mononoke: add UnodeFile to walker graph
Summary: add UnodeFile to walker graph to completment UnodeManifest, along with edges from UnodeFile to FileContent

Reviewed By: ikostia

Differential Revision: D24838460

fbshipit-source-id: 4bc860a65c5489ba9b2bff4582967d9db6181f25
2020-11-13 05:25:59 -08:00
Alex Hornby
0f47fb897d mononoke: add edge from unode to linked bonsai changeset in walker
Summary: When doing a deep walk step into history via the unode's linked changeset.

Reviewed By: ikostia

Differential Revision: D24838459

fbshipit-source-id: cf2196f95e7b6bf3c3ba2cd1c44fef748a11597f
2020-11-13 05:25:59 -08:00
Alex Hornby
143e18ec2b mononoke: add UnodeManifest support to walker
Summary: add UnodeManifest support to walker so they can be scrubbed

Reviewed By: mitrandir77

Differential Revision: D24604174

fbshipit-source-id: c60a020802fae109005263393ea5618f22f21888
2020-11-13 05:25:59 -08:00
Alex Hornby
35b08aa298 mononoke: add bonsai to unode manifest mapping to the walker
Summary: Add bonsai to unode manifest mapping to the walker so we can scrub from bonsais

Reviewed By: mitrandir77

Differential Revision: D24604188

fbshipit-source-id: d98938c5ec640c479007b59163899c16d0e3fb9d
2020-11-13 05:25:59 -08:00
Alex Hornby
da3bdd3d8c mononoke: allow revisit of ChangesetInfo in walker if not derived yet
Summary:
Track ChangesetInfo derivation in the same way as Fsnode.  This fixes repeated visits to ChangesetInfo

As part of this the matching in WalkState::needs_visit is made exhaustive, as it the default match had previously been returning true for ChangesetInfo nodes.

Reviewed By: mitrandir77

Differential Revision: D24838455

fbshipit-source-id: 33b8201984b294a1560da104b2cc9c65849b9297
2020-11-13 05:25:59 -08:00
Alex Hornby
b17d74193c mononoke: add ChangsetInfoMapping step to walker
Summary: This is in preparation to prevent marking visited for ChangesetInfo if it is not derived yet.

Reviewed By: mitrandir77

Differential Revision: D24838453

fbshipit-source-id: 0262b7f28754724bbfcc2407b4e649a90175cbcc
2020-11-13 05:25:58 -08:00
Alex Hornby
ce07b0e67d mononoke: add shallow walk to changeset_info derived data walk test
Summary: add coverage for shallow walks

Reviewed By: mitrandir77

Differential Revision: D24838920

fbshipit-source-id: df6a12cf1170571f047dd897bff6e35a75a21f90
2020-11-13 05:25:58 -08:00
Alex Hornby
acd5d78e27 mononoke: simplify changeset_info derived data walker test
Summary: The old test counted all types, make the test case check just the changeset_info derived node types for clarity.

Reviewed By: mitrandir77

Differential Revision: D24838457

fbshipit-source-id: 0ba96fd640e700f605521cf066318a89570ee71c
2020-11-13 05:25:58 -08:00
Alex Hornby
5c82724efd mononoke: add derived_xxx node groups to walker cmdline parsing
Summary:
Adding automatically generated derived_xxxx node groups so that less typing is
needed and we're also checking the nodes are mapped correctly to derived data types.

Reviewed By: mitrandir77

Differential Revision: D24838738

fbshipit-source-id: 2bc8ff03a82c5d18f749affba2e67d214fb7ace7
2020-11-13 05:25:58 -08:00
Alex Hornby
3d485e5d6c mononoke: add bonsai node type group to walker
Summary: This allows us to use -i bonsai instead of -i Bookmark -i BonsaiChangeset, which is a bit shorter

Reviewed By: mitrandir77

Differential Revision: D24838454

fbshipit-source-id: a758ad069af36fb1d1301e162bee822988cab07b
2020-11-13 05:25:58 -08:00
Alex Hornby
d89d2feec9 mononoke: generate NodeType::parse_node in walker
Summary: All the node types support FromStr so can generate NodeType::parse_node() rather than hand implement it.

Reviewed By: mitrandir77

Differential Revision: D24711372

fbshipit-source-id: 24e27e9cdda078c6dc66ac839cb3cfed6e93f269
2020-11-13 05:25:58 -08:00
Alex Hornby
aaa2f671c4 mononoke: implement FromStr for BookmarkName
Summary:
implement FromStr for BookmarkName, can use it to handle bookmarks
more uniformly with other types in the walker

Reviewed By: mitrandir77

Differential Revision: D24725786

fbshipit-source-id: e7eb7ece4a4bdc5dfd91f253f0383829c4ecc73b
2020-11-13 05:25:58 -08:00
Alex Hornby
99cb9d4f9f mononoke: add AliasKey to walker so can add FromStr
Summary: Refactor from non-FromStr node parsing to FromStr, make it consistent with other node keys.

Reviewed By: mitrandir77

Differential Revision: D24711374

fbshipit-source-id: 84200b781bfad0f860acd8aecb95ff238490b92d
2020-11-13 05:25:58 -08:00
Alex Hornby
5d2375c45f mononoke: use PathKey for Node::Fsnode in walker
Reviewed By: mitrandir77

Differential Revision: D24711373

fbshipit-source-id: cdddd994ac5a6ae6a8c5f686e952d10f0f34176d
2020-11-13 05:25:58 -08:00
Alex Hornby
28d7bc6daf mononoke: use PathKey for parsing of Node::HgFileNode in walker
Summary: use PathKey for parsing of Node::HgFileNode in walker.

Reviewed By: ikostia

Differential Revision: D24711375

fbshipit-source-id: 4fe5887ba44ca9fca1dde54eaa75b30114b3b4b8
2020-11-13 05:25:58 -08:00
Alex Hornby
557d6b58ab mononoke: add PathKey to walker, use in parse_node
Summary: add PathKey newtype to Node so can implement FromStr and use it in parsing for HgManifest

Reviewed By: mitrandir77

Differential Revision: D24711371

fbshipit-source-id: a9879f6d2e16eb54b2ca7af4e812a4f031c9e584
2020-11-13 05:25:58 -08:00
Alex Hornby
8cbe06923d mononoke: Add UnitKey to walker node definition, use in parse_node
Summary: Add UnitKey newtype to walker so that can implement FromStr,  this is leading up to all node keys supporting from_str at which point I can generate NodeType::parse_node.

Reviewed By: mitrandir77, ikostia

Differential Revision: D24711376

fbshipit-source-id: aa4e26eb8e9206673298b632a079d2cc66d152ee
2020-11-13 05:25:57 -08:00
Kostia Balytskyi
8d4db7b334 rate_limits: import thrift changes
Summary: This just imports D24871255.

Reviewed By: krallin

Differential Revision: D24871790

fbshipit-source-id: e5367eef5dfa4ce261fe9474f53df5ebb3cf6c4d
2020-11-13 05:18:33 -08:00
svcscm
792ae29c65 Updating submodules
Summary:
GitHub commits:

79c7dd968e

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 94171048cf7eb592f3d65110aaa3243192cea6f0
2020-11-13 03:41:01 -08:00
Kostia Balytskyi
749ae9e0da rate_limits: extract counter_check_and_bump into a fn
Summary: This is mostly a slight refactoring to help code reuse. However, there's a small behavior change as well (which I think is acceptable): before we compared `count` vs `max_value`, and now we compare `count + bump` vs `max_value`.

Reviewed By: krallin

Differential Revision: D24871175

fbshipit-source-id: 94e53ff2c05b4f9b236473c7e4b6d78229b64d53
2020-11-13 03:19:04 -08:00
Mark Juggurnauth-Thomas
2a76d65847 derived_data: rename BonsaiDerived::derive03 to derive
Summary: Now that `derive03` is the only version available, rename it to `derive`.

Reviewed By: krallin

Differential Revision: D24900106

fbshipit-source-id: c7fbf9a00baca7d52da64f2b5c17e3fe1ddc179e
2020-11-13 01:48:03 -08:00
Mark Juggurnauth-Thomas
383e60ed8c derived_data: remove old futures version of BonsaiDerived::derive
Summary:
Now that all code is using `BonsaiDerived::derive03`, we can remove the old
futures version `BonsaiDerived::derive`.

Reviewed By: krallin

Differential Revision: D24900108

fbshipit-source-id: 885d903d4a45e639e4d44e19b5d70fac26bce279
2020-11-13 01:48:03 -08:00
Mark Juggurnauth-Thomas
37ab107de9 derived_data: switch to BonsaiDerived::derive03
Reviewed By: krallin

Differential Revision: D24900119

fbshipit-source-id: e1dee3796b48fc12070f6455f4a1b6c7f1bcf32c
2020-11-13 01:48:03 -08:00
Mark Juggurnauth-Thomas
91208a011a repo_client: switch to BonsaiDerived::derive03
Reviewed By: krallin

Differential Revision: D24900112

fbshipit-source-id: c5dadb4c23808a75460c4a30cbe238025998b543
2020-11-13 01:48:03 -08:00
Mark Juggurnauth-Thomas
2e89b24808 mononoke_api: switch to BonsaiDerived::derive03
Reviewed By: krallin

Differential Revision: D24900114

fbshipit-source-id: 5a8aab1606172866dca7ce573da267748736e9bf
2020-11-13 01:48:02 -08:00
Mark Juggurnauth-Thomas
0c66cdb98d git: switch to BonsaiDerived::derive03
Reviewed By: krallin

Differential Revision: D24900113

fbshipit-source-id: 6b0be9b2a555080f8adab4f89ee19b7930571b35
2020-11-13 01:48:02 -08:00
Mark Juggurnauth-Thomas
13f119ca89 commit_rewriting: switch to BonsaiDerived::derive03
Reviewed By: krallin

Differential Revision: D24900118

fbshipit-source-id: 68ad4edd051cec76794bbd880fc5f9e0c3716fcd
2020-11-13 01:48:02 -08:00
Mark Juggurnauth-Thomas
df13fce307 cache_warmup: switch to BonsaiDerived::derive03
Reviewed By: krallin

Differential Revision: D24900107

fbshipit-source-id: eec7bd1859d47a8f4f03154825a7716a1affd9a4
2020-11-13 01:48:02 -08:00
Mark Juggurnauth-Thomas
875754fda4 warm_bookmarks_cache: switch to BonsaiDerived::derive03
Reviewed By: krallin

Differential Revision: D24900121

fbshipit-source-id: abce207db0ef51797b278cd448fb41b5e54875cb
2020-11-13 01:48:02 -08:00
Mark Juggurnauth-Thomas
26aaa544b0 blobrepo: switch to BonsaiDerived::derive03
Reviewed By: krallin

Differential Revision: D24900110

fbshipit-source-id: 7f73563547e06ee89ece15a614b6efa8c300cab4
2020-11-13 01:48:02 -08:00
Mark Juggurnauth-Thomas
80b9a03608 benchmark: switch to BonsaiDerived::derive03
Reviewed By: krallin

Differential Revision: D24900111

fbshipit-source-id: af92f04ab0c273dde22e343bf2145d7380093313
2020-11-13 01:48:02 -08:00
Mark Juggurnauth-Thomas
466aff087d backfill_derived_data: switch to BonsaiDerived::derive03
Reviewed By: krallin

Differential Revision: D24900120

fbshipit-source-id: 5b8ee17205896af26a712831914a97e56693928a
2020-11-13 01:48:02 -08:00
Mark Juggurnauth-Thomas
362c0f5b08 admin: switch to BonsaiDerived::derive03
Reviewed By: krallin

Differential Revision: D24900124

fbshipit-source-id: 0720bed284b1e901eb3c598943d56ce533898bcf
2020-11-13 01:48:02 -08:00