Commit Graph

59228 Commits

Author SHA1 Message Date
Genevieve Helsel
4624d1f3af if APFS volume name exceeds 127 length, hash it to avoid failure
Summary: APFS volume names have a length limit of 128, so we need to hash mount point to make sure we do not error out. Right now what happens if we get an error, but we do still successfully mount and the volume name is just truncated. Since we errored, we don't store this information anywhere. Instead now, we will check the volume name, and if it is too long, we hash the volume name in order to mitigate the "name too long" error.

Reviewed By: wez

Differential Revision: D22327372

fbshipit-source-id: d68f90472c1d952879078d0541b341d271c17092
2020-07-16 09:17:16 -07:00
Durham Goode
905ee42654 configs: add support for hostname-based dynamicconfigs
Summary: Makes the hostname available for dynamicconfig conditions.

Reviewed By: quark-zju

Differential Revision: D22537946

fbshipit-source-id: 630ee833bb3ec00253d718b3d03bbb8b3d49afca
2020-07-16 09:07:54 -07:00
Durham Goode
76df783c93 configs: implement user sharding
Summary: Adds support for sharding based on user name.

Reviewed By: quark-zju

Differential Revision: D22537540

fbshipit-source-id: 962f9582c8947335dc9d9d29c500d8c09df69878
2020-07-16 09:07:53 -07:00
svcscm
fc12054bfb Updating submodules
Summary:
GitHub commits:

7381376eea
2a5235d3d0
1b24ada453
44f7fc160d
4073a28c54
3415e9ba74
f9e98ad2c5
8467548c0e
24b550f91c
2dc5424fb1
f86f5441ff

Reviewed By: yns88

fbshipit-source-id: 05d94226ca5e9aecb740f1a8a4b8036f19f68960
2020-07-16 09:07:53 -07:00
svcscm
8a36455e00 Updating submodules
Summary:
GitHub commits:

8b136f3730
ab31b48c30
34321c4ac5
6bc436a61e
d6f17f0eb0
f5c2897951
584b6736c8
bfa5b24db8
a054bd825c
64c4448a43
9b2ed4fb6d
32c89859ba

Reviewed By: yns88

fbshipit-source-id: 037fbd56f190070e80adaa1c68acfacc21449948
2020-07-16 07:21:21 -07:00
Lukas Piatkowski
d323203d86 Back out "fix boost macOS build with new Xcode" (#27)
Summary:
Pull Request resolved: https://github.com/facebookexperimental/eden/pull/27

Pull Request resolved: https://github.com/facebookexperimental/rust-shed/pull/9

Original diffs: D22417488 (ad89d50a79), D22528869 (b3c9a79f30)

Reviewed By: markbt

Differential Revision: D22571972

fbshipit-source-id: c6f013565680a757b642dd79e647207fce3351ec
2020-07-16 06:36:41 -07:00
Simon Farnsworth
ae4b55ccaf Sort test output in test-cmd-manual-scrub.t
Reviewed By: krallin

Differential Revision: D22570814

fbshipit-source-id: bd1ef5defb2c401a3a6d19c4102c8904a211289d
2020-07-16 05:48:07 -07:00
svcscm
cbc9318be3 Updating submodules
Summary:
GitHub commits:

3123138abe
8879818e0b
03144b6abb
78becc980e
b72f773975
3ce3231ae3
d60904dcc8

Reviewed By: yns88

fbshipit-source-id: 1249acfb9e2ccb28e9bb8eac74990087440ce886
2020-07-16 05:48:07 -07:00
svcscm
393dbcd380 Updating submodules
Summary:
GitHub commits:

7f1bda2562

Reviewed By: yns88

fbshipit-source-id: d8b5e832a010065a9931ec183a332b128fd2c114
2020-07-15 23:39:10 -07:00
Durham Goode
2eae6130fb py3: fix eden lfs fetching
Summary: The tests now pass

Reviewed By: xavierd

Differential Revision: D22561933

fbshipit-source-id: 7f130391de845207589b0abe52481d03915ce18f
2020-07-15 22:16:19 -07:00
Stanislau Hlebik
2a07de29df dynamicconfig: do not use perfpipe_hgerrors
Summary:
Turned out we have perfpipe_hgerrors and perfpipe_hg_errors. Having both of
them is quite confusing, so I suggest to only use perfpipe_hg_errors

We don't seem to have any alarms on these tables, so renaming should be esy

Reviewed By: quark-zju

Differential Revision: D22546855

fbshipit-source-id: a450444e8c2270603c3146f4f05072029f935f4d
2020-07-15 19:41:58 -07:00
Jun Wu
2dd3bb83d4 test-fb-hgext-fbconduit: update the test
Summary:
D22526230 (7ab2c54f08) adds extra output.
The test seems to be skipped in buck test due to the hgsql requirement.

Reviewed By: kulshrax

Differential Revision: D22555707

fbshipit-source-id: 8659de3cda517a49296c747e65bfbd0d372c031a
2020-07-15 19:00:50 -07:00
Jun Wu
3068ac02bd hgsql: fix chunksize py3 compatibility
Summary: `int / int` gives `float` on Python 3 and that can cause issues.

Reviewed By: singhsrb

Differential Revision: D22563891

fbshipit-source-id: 443245710a0d2de660019f03845bed0077d62889
2020-07-15 17:16:33 -07:00
svcscm
92c5510314 Updating submodules
Summary:
GitHub commits:

f96a9cab0d
1b79f5aed7

Reviewed By: yns88

fbshipit-source-id: 097977fea26a0ea8d32f70ed8985a6454b0fca43
2020-07-15 17:16:33 -07:00
svcscm
a19550c66c Updating submodules
Summary:
GitHub commits:

5390bfdb15
eef55493a2
ca5a069a79

Reviewed By: yns88

fbshipit-source-id: aed3495f17cb1a56e9728d889491114dd4ba399f
2020-07-15 16:06:22 -07:00
Arun Kulshreshtha
c7bffff0ff edenapi: allow all ASCII characters in repo names
Summary: We have several repos whose names contain various non-alphanumeric/underscore/hyphen characters, so we need to be more permissive about accepting repo names.

Reviewed By: quark-zju

Differential Revision: D22554846

fbshipit-source-id: e7bb030e0b8fb6aa275c119ba0aa540405b29186
2020-07-15 15:12:49 -07:00
Arun Kulshreshtha
8cc3939f35 revisionstore: do not swallow errors from EdenAPI stores
Summary:
Previously, the EdenAPI stores would not report errors returned from the remote store. The intention behind this pattern in other stores is to prevent `KeyError`s from aborting the operation since the local store might still have the key.

However, in the case of the EdenAPI store, EdenAPI will simply omit missing keys in its response rather than returning an error. Instead, any error returned by the EdenAPI store indicates a more fundamental problem (e.g., unable to reach the server, connection reset, etc) which should cause an abort and return the error.

Reviewed By: quark-zju

Differential Revision: D22544031

fbshipit-source-id: e01e8d88b75e46dcebd2eef5203e3a0edde69fc7
2020-07-15 15:07:51 -07:00
svcscm
5a4e1bff22 Updating submodules
Summary:
GitHub commits:

873fb1d94d
31ef361635
b502f5b111
f4a5b0ee76
afb6bb1df2
1c8df22836
1eca20eb12
f960548674
8b18350bb5
c2658021b2
fd40920428
0eac1e4860

Reviewed By: yns88

fbshipit-source-id: e92d2602a352cef1d1dd4f53728e1d96958bb46d
2020-07-15 13:38:31 -07:00
Arun Kulshreshtha
e9a291438b edenapi: add limit option to read_res
Summary: When working with large CBOR responses, it is sometimes useful to limit processing to the first N entries to prevent the operation from taking a long time. This diff adds an option to the `read_res` tool to only look at the first N entries in a data or history response.

Reviewed By: quark-zju

Differential Revision: D22544451

fbshipit-source-id: 5e8e2c7212aa3b315a25bd4cf9273009a5e43f72
2020-07-15 13:19:16 -07:00
Jun Wu
5b8885d50d changelog: use Rust RevlogIndex for isancestor
Reviewed By: DurhamG

Differential Revision: D22368826

fbshipit-source-id: b4e03e99b29f5f8b28f561ef8048da4ef4f7c235
2020-07-15 13:16:47 -07:00
Jun Wu
c60a9aed4d changelog: use Rust RevlogIndex for findcommonmissing
Reviewed By: DurhamG

Differential Revision: D22368828

fbshipit-source-id: fc263b9a867f3bccb72bb57d967f510f0c467b66
2020-07-15 13:16:47 -07:00
Jun Wu
d3df634f14 changelog: use Rust RevlogIndex for descendants
Reviewed By: DurhamG

Differential Revision: D22368830

fbshipit-source-id: ccfc1128012014223c86c52fab6cf3845827e3f1
2020-07-15 13:16:47 -07:00
Jun Wu
a7dc48bfeb changelog: use Rust RevlogIndex for children
Reviewed By: DurhamG

Differential Revision: D22368829

fbshipit-source-id: 4ba4d59af784dd2195f2485c2cefa70c9f2e04ca
2020-07-15 13:16:47 -07:00
Jun Wu
482661f33e changelog: use Rust RevlogIndex for rev and node
Reviewed By: DurhamG

Differential Revision: D22368833

fbshipit-source-id: 86732db40c7aaa6ccb5851892f41aab5eac3021d
2020-07-15 13:16:47 -07:00
Jun Wu
4bcafe228f changelog: use Rust RevlogIndex for nodesbetween
Summary:
The pure Python `nodesbetween` implementation relies on raw revlog details and
weirdness (ex.  `index[len(repo)]` returns `nullid`). Replace them with cleaner
code paths.

Reviewed By: DurhamG

Differential Revision: D22368831

fbshipit-source-id: c7eb0c2bb2759e9fb574afc63ad2b398d7b17d38
2020-07-15 13:16:47 -07:00
Jun Wu
a3cc71f184 changelog: use Rust RevlogIndex for revision
Reviewed By: DurhamG

Differential Revision: D22368824

fbshipit-source-id: 16c43e377443850200212f813dcbf544b622206e
2020-07-15 13:16:47 -07:00
Stanislau Hlebik
1ebc6ab608 fbscmquery: use correct exception message field
Summary:
We got user reports about failing hg log call -
https://fb.workplace.com/groups/scm/permalink/3016242448425355/.

If we can't fetch the data from graphql then we try to e.msg, however we don't
have such a field. We have e.message instead.

This diff fixes it, and also adds new line to make formatting better.

Reviewed By: quark-zju

Differential Revision: D22548251

fbshipit-source-id: 117489d8e6a22ab5bc43be1154697398086508d0
2020-07-15 13:11:12 -07:00
Arun Kulshreshtha
165f387df5 backingstore: do not require remotefilelog.reponame to be set
Summary: Some repos do not have `remotefilelog.reponame` set, so this shouldn't be a required config item.

Reviewed By: fanzeyi

Differential Revision: D22553141

fbshipit-source-id: a0fe9c289a1a32650572a4c123cda60af90e79ec
2020-07-15 12:14:00 -07:00
svcscm
aa3e38ac78 Updating submodules
Summary:
GitHub commits:

681f72e568
697845bea6
14178b7a02
43d80f110b
c22b8fcfce
e8d5a24815
df10fa211a
f4de30f618
99c7033589
1adf0d7e8b
f170f1bd92
6d443efc69
d8bcc64a97

Reviewed By: yns88

fbshipit-source-id: 38b31651b221aa8296d788348e4462a4c595c4ff
2020-07-15 11:27:15 -07:00
Zeyi (Rice) Fan
ad89d50a79 fix boost macOS build with new Xcode
Summary:
When we build boost 1.69.0 with newer version of Xcode, it will fail with:

```
clang: error: unknown argument: '-fcoalesce-templates'
```

This commit fixes this build failure by telling boost's build system that we are building with clang on macOS.

Reviewed By: chadaustin

Differential Revision: D22417488

fbshipit-source-id: 0b3d22835abbba6d06812c656acb0311a60d8c67
2020-07-15 10:20:38 -07:00
Zeyi (Rice) Fan
b3c9a79f30 teach getdeps to look for clang on macOS with xcrun in boost build
Reviewed By: wez

Differential Revision: D22528869

fbshipit-source-id: 66c394b6fafcc45503b593f9f6b0605b5578ce56
2020-07-15 10:20:38 -07:00
Meyer Jacobs
4ccbd119d7 debug: introduce error classification and metadata propagation
Summary:
Introduce new rust library, taggederror, which contains utilities for attaching metadata to errors. The library provides two main methods for attaching metadata to an error, the TaggedError wrapper type, and the AnyhowExt trait methods. Provides a struct, CommonMetadata, which contains all the metadata types introduced by taggederror (fault, transience, category, and typename), which can also be attached individually (and the same pattern can be used to attach other metadata).

Introduce a new native rust command, debugthrowrustexception, which causes the command to return an error, with some attached metadata.

Modify hg rust native command dispatch error handling to use debug formatter to print anyhow::Error errors. This will print out the source chain, contexts, and backtrace if available, which will cause the metadata we attach as a wrapper error or context to be printed.

Reviewed By: DurhamG

Differential Revision: D22420941

fbshipit-source-id: d38c5a10b686d86b69a2c0a19f5bcbf4ca24dff6
2020-07-15 10:03:10 -07:00
Mark Thomas
0bd84ab898 scs_server: increase list_bookmarks limits (part 2)
Summary:
Increase the max limits for repo_list_bookmarks and commit_list_descendant_bookmarks
from 1,000 to 10,000.  The higher number is still reasonable for a single request,
and this reduces the number of round-trips when there are lots of bookmarks.

This updates the constants in the thrift definition.  The server was updated to accept
higher limits in a previous diff.

Reviewed By: mitrandir77

Differential Revision: D22524891

fbshipit-source-id: bc47c1e50af35f213ebcfbca1574669e79b2fe92
2020-07-15 08:15:06 -07:00
Thomas Orozco
ef6d7b48b4 mononoke/lfs_server: popularity: add ODS counters, timeouts and tests
Summary:
ODS counters are helpful to know if the feature is turned on or off without
requiring a traffic spike, so let's log them. Also, let's add timeouts in here,
so we know if things aren't working as expected (I did check in the Mononoke
LFS dataset — 10ms is a very conservative number, that's way beyond the p99 of
batch requests, which include potentially many counter checks).

To make this easier to iterate on, let's also add tests.

Reviewed By: StanislavGlebik

Differential Revision: D22545853

fbshipit-source-id: 02ea4484a4e4ba0dfd4a71030c129eb5c6bb1ec9
2020-07-15 03:39:23 -07:00
Durham Goode
28ddd1d1cc configs: add hg debugdynamicconfig --canary devvmXXX.prnY support
Summary:
Previously you could only canary locally on a devserver by setting an
environment variable. Let's add a --canary flag to debugdynamicconfig that
accepts a host.  Hg will ssh to that host and run the configerator cli to grab
the canaried config from that host.

Reviewed By: quark-zju

Differential Revision: D22535509

fbshipit-source-id: af1c21d8402c4e729769e50388d913bf52b66b89
2020-07-15 01:14:30 -07:00
Durham Goode
789d2c24fb cliparser: add support for Option<String> types
Summary:
Previously we had no way of specifying an optional string flag. This
adds support.

I considered making the implementation more generic, so it'd support
Option<i64> and potentially Option<bool> but it introduced some complexity and
didn't seem worth the effort for now.

Reviewed By: quark-zju

Differential Revision: D22535511

fbshipit-source-id: 04d7b5419ca7ae44a9aeff1a5cea2c3043d80042
2020-07-15 01:14:30 -07:00
Stanislau Hlebik
7ab2c54f08 fbscmquery: print the error if failed to connect to scmquery
Summary:
Previously we didn't print the error, and it made debugging harder (see for
example this case). Let's print the error.

Reviewed By: singhsrb

Differential Revision: D22526230

fbshipit-source-id: e431199d0273183324df7938df28934cd186658c
2020-07-14 23:30:29 -07:00
svcscm
5a91de29c3 Updating submodules
Summary:
GitHub commits:

b77ff73849

Reviewed By: yns88

fbshipit-source-id: c85da83df62b689b68c8bc43969b1d79b61effc6
2020-07-14 23:30:29 -07:00
svcscm
242037cfaa Updating submodules
Summary:
GitHub commits:

91f7ab2508

Reviewed By: yns88

fbshipit-source-id: 9ba1991eb3d2f0e579ac4ec30ad17163115a9a89
2020-07-14 21:04:11 -07:00
Durham Goode
ba558e43a3 py3: fix debugnetwork
Summary: It now works

Reviewed By: quark-zju

Differential Revision: D22533046

fbshipit-source-id: 20b14846c5f0e2a7da88be3d26506177e7788ca2
2020-07-14 20:45:16 -07:00
svcscm
97ac024f54 Updating submodules
Summary:
GitHub commits:

de073e37f8
2fc15f4b04

Reviewed By: yns88

fbshipit-source-id: 8167253a276c75077776a61c4184b01faf1dedc9
2020-07-14 20:45:15 -07:00
svcscm
6bbc75101b Updating submodules
Summary:
GitHub commits:

56ecdc6a65
790557fb04
ce5e28c48b
de8c92a596
c3ea325c5e
015ff4a808

Reviewed By: yns88

fbshipit-source-id: 0d6a14a4a6d13bcbcc107066cc8eef49769f43c1
2020-07-14 17:12:42 -07:00
Chad Austin
d0fb86a240 add 4k random writes benchmark
Summary:
To help investigate a Linux kernel performance dropoff where the
kernel falsely thinks the EdenFS FUSE mount can't handle dirty page
writes at a high rate, add a 4k random writes benchmark.

Reviewed By: simpkins

Differential Revision: D21328771

fbshipit-source-id: c9977bd2e291d01e92631094aba3d8d807ec62da
2020-07-14 16:13:37 -07:00
svcscm
5119e6607c Updating submodules
Summary:
GitHub commits:

eafa4ce26d
704e221697
4d4cbdf91d

Reviewed By: yns88

fbshipit-source-id: 08bd029905b5192b9182ec3d63efce1f3dde1bfd
2020-07-14 15:43:33 -07:00
Jun Wu
0943453a20 tests: remove unbundlereplay
Summary: D22513868 (ee36a7446b) removed the `unbundlereplay` extension. Update tests.

Reviewed By: singhsrb

Differential Revision: D22537159

fbshipit-source-id: 1c02906b55c2e2a50b8df8cd0e8aa1bdd4862ecc
2020-07-14 15:37:38 -07:00
svcscm
299e972c50 Updating submodules
Summary:
GitHub commits:

f9946a98fc
48866d2632
bdf4de6cb9
6c41aa5a7b

Reviewed By: yns88

fbshipit-source-id: acebb17729d81eb88d01d728e62fb0c59722caf6
2020-07-14 14:56:10 -07:00
Jun Wu
f6d838bc0e extensions: enable lz4revlog by default
Summary: Some native code (ex. RevlogIndex) only knows the lz4 format.

Reviewed By: DurhamG

Differential Revision: D22368825

fbshipit-source-id: d33cee235e3aa4fbf2cfb441319e3c12728d8b5b
2020-07-14 14:33:43 -07:00
Jun Wu
b71ac97dd5 tests: do not use hg files to list every file in a repo
Summary:
The `helpers-testrepo.sh` runs something like

  hg files --cwd /path/to/fbsource/fbcode/eden/scm/tests/

to check if `hg` works or not. Previously it fails fast because of the
lz4revlog requirement. The next diff will enable lz4revlog that makes
`hg files` work.

That `hg files` command (if does not fail) is quite expensive because it has no
patterns and lists every file.

It can also be undesirable if the in-repo hg does some kind of auto migration
that makes the repo unusable by the system hg. Therefore just unconditionally
use the system hg.

Reviewed By: DurhamG

Differential Revision: D22419967

fbshipit-source-id: 2d5c75696efecce1ec38a2e4fa23aff101219545
2020-07-14 14:33:43 -07:00
Jun Wu
7d831a7707 changelog: use Rust RevlogIndex for rawheadrevs
Reviewed By: DurhamG

Differential Revision: D22368832

fbshipit-source-id: 5cd3250db6d06f956edf1260b7bf03c4298dcee2
2020-07-14 14:33:43 -07:00
Jun Wu
da42f2c17e changelog: use Rust RevlogIndex for reachableroots
Summary: The new Rust structure can calculate reachableroots.

Reviewed By: DurhamG

Differential Revision: D22368827

fbshipit-source-id: 47ea1ce07946ddf8c2a6c31bb85dead3950084ba
2020-07-14 14:33:43 -07:00