Commit Graph

63005 Commits

Author SHA1 Message Date
Xavier Deguillard
5d9a42963e ninja: upgrade and build from source on macOS
Summary:
On macOS, ninja only provides prebuilt Intel binaries, not arm64 ones. Since we
need to have a native arm64 ninja to be able to build binaries for the M1,
let's compile it from scratch on macOS too. Compiling it takes less than 30s so
it shouldn't add any notable cost to any builds.

Reviewed By: genevievehelsel

Differential Revision: D26322029

fbshipit-source-id: 1bbeeac2a3f0ba07c477a2b33f8878a91ccaec0e
2021-02-09 09:42:07 -08:00
Thomas Orozco
8f5c58ed6c mononoke/redaction: remove convoluted & useless timestamp check
Summary:
So right now we get the last timestamp at which we logged, then do a compare
exchange and log only if that succeeds. So we're ... racing with another
thread being on the brink of logging too?

What is that possibly supposed to achieve? Let's remove it.

While in there, also clean up the imports a bit, fix up the i64 -> u64
conversion, and remove a useless borrow.

Reviewed By: ahornby

Differential Revision: D26337990

fbshipit-source-id: a17f6613f1fb5fa58e4131181c230006af06f003
2021-02-09 09:09:52 -08:00
Thomas Orozco
762ce0fe86 mononoke: redaction: set server data
Summary: Like it says in the title. This is useful.

Reviewed By: StanislavGlebik

Differential Revision: D26318916

fbshipit-source-id: 22160d1c9b01ace2e2e6e0cd2d41071465884325
2021-02-09 09:09:52 -08:00
Thomas Orozco
5ede778ca4 mononoke/hgcli: allow running without fbinit
Summary:
This updates hgcli to allow us to run without fbinit (and therefore no logging
to Scuba), with a 1% chance to enable it.

Reviewed By: mitrandir77

Differential Revision: D26339638

fbshipit-source-id: 5253fbfea6aa91bc25be7cb52022b43232dbe65a
2021-02-09 08:58:56 -08:00
Thomas Orozco
e2a595ed9d mononoke/scs_server: initialize Scuba server data once
Summary: This is actually 2% of our CPU. Heh.

Reviewed By: ikostia

Differential Revision: D26338939

fbshipit-source-id: 621c3791c9333b925d799e40f0ba74a870f8c427
2021-02-09 08:53:31 -08:00
Thomas Orozco
c9408fb886 mononoke/hooks: don't enable acl checker when you don't need it
Summary: Loading an Acl Checker is expensive. Don't do it given we don't use it.

Reviewed By: HarveyHunt

Differential Revision: D26337699

fbshipit-source-id: bc48ac44b3301db5bd03a5d2006b92912b7e6fd0
2021-02-09 07:44:59 -08:00
Stanislau Hlebik
a95bb93de7 mononoke: create reverse_bookmark_renamer outside of the loop
Summary:
This makes this function run >5mins on bookmarks validator job. This diff fixes
it

Reviewed By: krallin

Differential Revision: D26338710

fbshipit-source-id: 7beeb6689d51ec6c0fa27174f5bd2c272c0f0015
2021-02-09 07:22:41 -08:00
Jan Mazur
d08c83fa68 hg/debugnetwork: print out mononoke hostname
Summary: It will help users better understand latencies - they will know the region they connect to.

Reviewed By: ahornby

Differential Revision: D26249531

fbshipit-source-id: b77c17c19efb93e5c7e83926f964cf42ec3326fe
2021-02-09 06:44:44 -08:00
svcscm
edebd6d712 Updating submodules
Summary:
GitHub commits:

cfc402e8dd
5f50bda1b7

Reviewed By: jurajh-fb

fbshipit-source-id: 97ce449f65e8de69e1c2ee4882fc98070c331be4
2021-02-09 06:44:44 -08:00
svcscm
7f39bc6ac4 Updating submodules
Summary:
GitHub commits:

ba0d55d01a

Reviewed By: jurajh-fb

fbshipit-source-id: b9c1cf9ff2043c03136eb058030a6a7d5dff2471
2021-02-09 05:05:45 -08:00
Alex Hornby
f0c7778a0a mononoke: add scrub grace period
Summary: Give data some time to appear in other stores before triggering repair action.

Differential Revision: D26123924

fbshipit-source-id: 71dc84dc243ec5452aaa7686882c0a176bcb0dd8
2021-02-09 04:37:37 -08:00
Alex Hornby
42dd80da1d mononoke: use blobstore_factory::make_blobstore from walker
Summary:
Make the walker use blobstore_factory::make_blobstore like other clients do.

This allows blobstore_factory::{make_blobstore_multiplexed, make_blobstore_put_ops} to be hidden.

Reviewed By: krallin

Differential Revision: D25980596

fbshipit-source-id: 2417ed11d4edc611d19e003122acec6b7ebd341d
2021-02-09 04:37:37 -08:00
Alex Hornby
6fd992bfcc mononoke: remove old non-cmdlib scrub option from walker
Summary: Remove these as common cmdlib ones are preferred.

Reviewed By: krallin

Differential Revision: D25976407

fbshipit-source-id: 30295950e51ad1fb2d88cf396b6a7c7353d17577
2021-02-09 04:37:36 -08:00
generatedunixname89002005325677
e1578c6e23 Daily arc lint --take RUSTFMT
Reviewed By: zertosh

Differential Revision: D26334348

fbshipit-source-id: 589f4eb91fc42279c8851a3964f95523418989cd
2021-02-09 04:05:27 -08:00
svcscm
3ef2a54205 Updating submodules
Summary:
GitHub commits:

1db2b89adf

Reviewed By: jurajh-fb

fbshipit-source-id: 4cb20843020790452bafdfa04a14c16c2a7e1f54
2021-02-09 04:05:27 -08:00
svcscm
77ad140bfc Updating submodules
Summary:
GitHub commits:

de428b410e

Reviewed By: jurajh-fb

fbshipit-source-id: bb9b28957ee183479bd336e7c30ac499bad0d2a6
2021-02-09 03:29:18 -08:00
Ivan Murashko
bf540eef33 HTE lint-ignore message cleanup at fbcode (#8799)
Summary:
Pull Request resolved: https://github.com/facebook/hhvm/pull/8799

Pull Request resolved: https://github.com/facebookexperimental/eden/pull/72

Pull Request resolved: https://github.com/facebook/openr/pull/82

Pull Request resolved: https://github.com/facebook/fbthrift/pull/410

The diff removes HOWTOEVEN from all lint-ignore messages at fbcode

Reviewed By: dkgi

Differential Revision: D26278830

fbshipit-source-id: d0233030a0aacc44c3dfc5694475027150f2a442
2021-02-09 03:23:33 -08:00
svcscm
6f10b3a9ba Updating submodules
Summary:
GitHub commits:

94e80675b7
092497f9f2

Reviewed By: jurajh-fb

fbshipit-source-id: 51857d2d0c682b6b160a8962421622fdc8d185ab
2021-02-09 03:23:33 -08:00
svcscm
d9f961a429 Updating submodules
Summary:
GitHub commits:

1d3c775dab
21a8c6228a
68c79e212d
e69ea26bb2
f6738bdba2
04cc5a2ef1
1b9ae5e59b
ff58735602
8571dc4191
74260eb8e8
22b5aa93cb
741f6d5187

Reviewed By: jurajh-fb

fbshipit-source-id: 7c0e11e2a59bc2d3e33b9c82f3912cc695184380
2021-02-08 18:23:07 -08:00
Xavier Deguillard
c9c3d39f06 openssl: update to 1.1.1i
Summary:
I've been trying to get EdenFS to compile on an M1 mac, and openssl only
support these starting with 1.1.1i. From their changelog:

    *) Add support for Apple Silicon M1 Macs with the darwin64-arm64-cc target.
     [Stuart Carnie]

Let's start by upgrading openssl.

Reviewed By: fanzeyi

Differential Revision: D26318433

fbshipit-source-id: dfe1a06ee7061dfcd026b0347eb050155895ebd9
2021-02-08 17:23:02 -08:00
svcscm
1f6bcc4ec2 Updating submodules
Summary:
GitHub commits:

3d29c4271c
e0d95ac003
cf160b98e1
e2ac991378

Reviewed By: jurajh-fb

fbshipit-source-id: 8aa5a36fafbdc4f63ded3bd45f4be8e6695a84a9
2021-02-08 14:37:00 -08:00
Jun Wu
bc803f49de tests: fix test-fb-hgext-treemanifest-prefetch.t
Summary:
The test is broken in master.  I might be using a stale binary running that
test in D26245424 (1392673a95). Revert the test to before D26245424 (1392673a95) fixes it.

Reviewed By: sfilipco

Differential Revision: D26321855

fbshipit-source-id: 4ada61211d3b354ae6f94f7fc8364f4550e9aeb8
2021-02-08 13:09:33 -08:00
svcscm
4faa69654a Updating submodules
Summary:
GitHub commits:

1864dcb6f2
7eddb0ecfc
50086167e4

Reviewed By: jurajh-fb

fbshipit-source-id: 090b18bdf59011bcb89914690730e1b2c920693f
2021-02-08 13:04:57 -08:00
Mateusz Kwapich
dbc160f957 make number of threads configurable
Summary:
The high load on our hg servers seems to be coming from the excessive number of
threads allocated by hgcli. Let's default to 1.

Reviewed By: krallin

Differential Revision: D26314594

fbshipit-source-id: c4a15b3398ff4b39e98b3e75e7f9d34a0a12f5ee
2021-02-08 12:32:41 -08:00
svcscm
617212e1ca Updating submodules
Summary:
GitHub commits:

e1cd42e028

Reviewed By: jurajh-fb

fbshipit-source-id: 624b3e307d766b87410ac03e50dd122d605965e0
2021-02-08 11:21:22 -08:00
Stefan Filip
3cf7f36269 update project Cargo.toml after dashmap update
Summary: cargo autocargo

Reviewed By: fanzeyi

Differential Revision: D26317385

fbshipit-source-id: 5c404a3c05ca66bb5781b3f35a7258100b2adc00
2021-02-08 10:53:49 -08:00
Aida Getoeva
562f00cfd7 mononoke/hooks: extend file fetcher to get file changes
Summary:
This diff adds method to FileContentFetcher to get a file changes between two changesets using hg manifests. The method returns a list of file changes, where added/changed paths contain content ids.

The API is needed for Owners files hook.

Reviewed By: StanislavGlebik

Differential Revision: D26040536

fbshipit-source-id: 816194a494f0c77e8ea9aef729fd6161eed904ff
2021-02-08 10:48:22 -08:00
Aida Getoeva
99b9742872 mononoke/hooks: extend file fetcher to find files
Summary:
Owners file hook requires access to the files in master branch.
This diff extends `FileContentFetcher` to have API for finding files in the master commit. The methods are implemented for the blobrepo. They derive unode manifest for the master bookmark and search given file paths in the manifest, returning list of file content ids.

Reviewed By: StanislavGlebik

Differential Revision: D24936674

fbshipit-source-id: c63931c073b6148972bc8e81126f7c4786db920a
2021-02-08 10:48:22 -08:00
Meyer Jacobs
44d1239275 newstore: introduce a trait-object-based "fallback combinator"
Summary:
Introduce `FallbackStore`, a newstore combinator which implements the `ReadStore` trait and first checks a "preferred" store for the provided keys, before falling back to a "fallback" store. The combinator requires that both stores share the same `Key` type, but allows a user provided "value adapter function" to convert from the fallback store's value type to the preferred store's value type.

Currently `FallbackStore` does not support writing missing values to the preferred store - this functionality will be introduced in a future change.

Reviewed By: DurhamG

Differential Revision: D26203146

fbshipit-source-id: 0e99110f93130ff30c95cce15e3dc7873616519c
2021-02-08 10:39:32 -08:00
Meyer Jacobs
2f0d2c4105 util: introduce a select_drop stream combinator
Summary: Introduce a new stream combinator, `select_drop`, based on `futures::stream::select`, which performs the same function except dropping the contained streams when they terminate, rather than when the combined stream is exhausted. This prevents a deadlock in cases where one stream will not terminate until the other terminates.

Reviewed By: DurhamG

Differential Revision: D26139816

fbshipit-source-id: d28da32244a215741476e1c3882154ea9e3116a5
2021-02-08 10:39:32 -08:00
Meyer Jacobs
79656a50a1 newstore: add minimal indexedlog adapter for ReadStore trait
Summary: Introduces a minimal `ReadStore` implementation for `IndexedLogHgIdDataStore`.

Reviewed By: DurhamG

Differential Revision: D26113280

fbshipit-source-id: 68dd7f44b51b495033de354b10373b84dab40930
2021-02-08 10:39:31 -08:00
Meyer Jacobs
ef00b68647 newstore: minimal proof of concept trait & edenapi implementation
Summary: Introduce a minimal version of an async, typed `ReadStore` trait and corresponding `EdenApi` implementation, along with a debug command, `debugnewstore` to exercise it.

Reviewed By: DurhamG

Differential Revision: D26050641

fbshipit-source-id: 2c14c3715e7067f9ecd1e649e6ca146a1ce249bf
2021-02-08 10:39:31 -08:00
Mark Juggurnauth-Thomas
d3fdd2c53a warm_bookmarks_cache: add skeleton manifests
Summary: Add skeleton manifests to the derived data types that the warm bookmarks cache keeps warm.

Reviewed By: krallin

Differential Revision: D26312403

fbshipit-source-id: 26bafee69ac0c38c1d49b29cdeb4968c37243271
2021-02-08 10:35:53 -08:00
Stefan Filip
0a308f9f84 update Cargo.toml after assert_matches update
Summary: cargo autocargo

Reviewed By: fanzeyi

Differential Revision: D26316542

fbshipit-source-id: f9e12a9d7b3b4e03a6f7b074ea2873ad6dcc82ad
2021-02-08 10:23:00 -08:00
Mark Juggurnauth-Thomas
f27d761fa8 derived_data: limit derivation times to 2 decimal places
Summary: Limit durations in derived data logging to two decimal places.

Reviewed By: krallin

Differential Revision: D26311139

fbshipit-source-id: 0f317d9c15c8425ad0591cbe7f07063c74e081b7
2021-02-08 05:38:33 -08:00
Liubov Dmitrieva
a6c8d12c47 do not print warning about repo locking if the wait below the default threshold
Summary:
The warning is noisy if the wait is short and can make users dislike commit cloud.

Make sure we don't print the warning earlier than defaultlockwaitwarntimeout.

This is a follow up on D25587459 (18b8c66439) that doesn't fully work if warntimeout is passed equal to zero.

The default threshold has been introduced earlier in D25587459 (18b8c66439). This is just a fix.

A new test has been added. Also, the api should allow to pass value 0 meaning to show the warning always.

Reviewed By: quark-zju

Differential Revision: D26251321

fbshipit-source-id: c3beb5fec6a65f1816f667df70c1a39dd65ef083
2021-02-08 03:16:55 -08:00
Kostia Balytskyi
29f1b16154 live_commit_sync_config: asyncify commit sync config accessors
Summary:
This is a preparation for potential necessity of IO being done by this trait and its implementors.

We think the IO might be needed if we move commit sync config storage from `Configerator` into xdb, or some place else. To be clear, I personally am not certain we'll *need* this, but in any case, asyncifying the trait does not seem like a risky thing here (because we usually have only 0-2 sync functions in the stack above `LiveCommitSyncConfig` accessors, so it does not require large-scale code flow changes or anything).

I intentionally did not touch the push-redirection accessors, as those I don't think will ever move away from configerator.

Reviewed By: StanislavGlebik

Differential Revision: D26275905

fbshipit-source-id: 1bfdca087434d475d50032dd47dd94f16be051f9
2021-02-08 00:42:31 -08:00
svcscm
e905760b43 Updating submodules
Summary:
GitHub commits:

38468becbb

Reviewed By: yns88

fbshipit-source-id: 627c746effa455041e9f0ff985e6deff5bc63734
2021-02-08 00:42:31 -08:00
svcscm
f1b0442759 Updating submodules
Summary:
GitHub commits:

6c0f437dfe
b617e68d44
fff27254e8
5716b43290
60666d8675
37cd0a120f
588e97c70f

Reviewed By: yns88

fbshipit-source-id: f472af973f6caec6e4b1f8b51385ea0601323f7a
2021-02-07 11:22:42 -08:00
svcscm
dff6ae2350 Updating submodules
Summary:
GitHub commits:

5ecdd3eb62
7e3360e2f9
9dd20972e4
71ef89be72

Reviewed By: yns88

fbshipit-source-id: f3f264d0b7c15f9fcf66d4dc993285b1abb8b36e
2021-02-06 10:48:30 -08:00
Alex Hornby
e27e269274 mononoke: add throttleblob bytes/s limit
Summary:
Add support for directly throttling blobstores based on read and write bandwidth used.

Read bytes throttling can only approximate given we only know the size *after* the inner Blobstore::get().

Reviewed By: krallin

Differential Revision: D26022763

fbshipit-source-id: b8019f53bda326117511aa659dcdab2a958dbd27
2021-02-06 02:22:23 -08:00
svcscm
2833f776f1 Updating submodules
Summary:
GitHub commits:

3f98d23ea4
14877dc1a7
ddcf042767

Reviewed By: yns88

fbshipit-source-id: a3bb5b3f0e161bccf9627fcd95c4d9b164d1651e
2021-02-06 02:22:23 -08:00
svcscm
2c6a0317da Updating submodules
Summary:
GitHub commits:

1ff8690a63
2cf67367ff
e3183eae77

Reviewed By: yns88

fbshipit-source-id: 0fe9d917c86424907e11cd72e527ae9694025be9
2021-02-05 23:34:46 -08:00
Xavier Deguillard
235ccac7f3 nfs: ifdef it on Windows
Summary:
MSVC is broken as it doesn't understand the various macros used to generate
XdrTrait for specific types, and I can't figure out a way to make that work.
Even if I provide dummy version of these, the buck build breaks due to glog
trying to redefine the ERROR symbol that some Microsoft headers contain. For
now, let's just ifdef it out since it's unlikely that we're going to be using
NFS on Windows anytime soon.

Reviewed By: singhsrb

Differential Revision: D26293519

fbshipit-source-id: bbaf325c7d1f1688327708360244797a6d48179e
2021-02-05 21:22:56 -08:00
svcscm
a13f071361 Updating submodules
Summary:
GitHub commits:

1a81060712
8088923626

Reviewed By: yns88

fbshipit-source-id: bb90992bd1f07a47ca9ce8e0c29fa374c7d62411
2021-02-05 21:22:56 -08:00
svcscm
9a82fc2110 Updating submodules
Summary:
GitHub commits:

14e1a6a5ae
33cfbd0988
8d2bbdd04f
a69864a7bb

Reviewed By: yns88

fbshipit-source-id: 96798421fa4dcb8470dc50da98aa8dc6af698d40
2021-02-05 16:51:23 -08:00
Jun Wu
ae8aa967bb pytracing: set target to module name by default
Summary:
This matches the Rust behavior and is useful for filtering
because the env logger syntax applies to target:

  % RUST_LOG=edenscm.hgext.debugshell=info lhg dbsh
  In [1]: from edenscm import tracing

  In [2]: tracing.info('foo')
  [2021-02-05T19:21:41.082Z INFO  edenscm.hgext.debugshell] message="foo"

Reviewed By: kulshrax

Differential Revision: D26282053

fbshipit-source-id: 8ee9e82b955835b24c49f9bf81c7a3aec7a65a33
2021-02-05 15:19:34 -08:00
Thomas Orozco
497544a63e mononoke/edenapi_service: check & bump load counters for trees & files
Summary:
Like it says in the title. Let's add some basic throttling control here, in
line with what we have in Mononoke Server. The numbers don't quite match up
since fetches in EdenAPI don't include linknodes or history, but this should be
better than nothing and sufficient for now, and makes sense to have with
EdenAPI & Mononoke Server running in the same process.

Reviewed By: HarveyHunt

Differential Revision: D26250746

fbshipit-source-id: 338eda4341a163d0d915f10bf45fc7f40c74fc69
2021-02-05 15:16:09 -08:00
Thomas Orozco
67125980bb mononoke: add load limiter to EdenAPI sessions
Summary:
Like it says in the title. I'd like to access our load limiter from there and
this is a good way to do it.

Note that EdenAPI doesn't have client hostnames when we instantiate the load
limiter, but we also don't truly need it because our client identities include
the hostprefix (at least in cases where a reverse lookup stands a chance of
succeeding, i.e. in prod).

Reviewed By: HarveyHunt

Differential Revision: D26250743

fbshipit-source-id: d1ad062d2967bfe28b3ddc164cac977d297d1b6a
2021-02-05 15:16:09 -08:00
Thomas Orozco
2083393504 mononoke/permission_checker: get the hostprefix from identities
Summary:
Like it says in the title. We can't do this for identities extracted from SSH
(because it's not there), but for traffic that comes to us via TLS, we can! So,
let's use it.

Reviewed By: johansglock

Differential Revision: D26250745

fbshipit-source-id: 9d2315712e164c5e21dbea87652a1d88dfd9bcda
2021-02-05 15:16:08 -08:00