Commit Graph

65372 Commits

Author SHA1 Message Date
svcscm svcscm
3125fbf967 Updating submodules
Summary:
GitHub commits:

51eaa36f56
fefe8c9177
1df0c7f940
8f1f6aec1d
be0741c9c3
026568e692

Reviewed By: wittgenst

fbshipit-source-id: 758cb2186e1dfc89428cc20ea74afeee184d68d4
2021-05-11 08:47:32 -07:00
Xavier Deguillard
935791590a utils: add a semi() method to ImmediateFuture
Summary:
While ImmediateFuture are expected to be used on values that are mostly
immediate, there are cases where it won't be. In these cases we need a way to
wait for the computation/IO to complete. In order to achieve this, we need to
transform an ImmediateFuture onto a SemiFuture.

Reviewed By: fanzeyi

Differential Revision: D28293941

fbshipit-source-id: 227c0acf1e22e4f23a948ca03f2c92ccc160c862
2021-05-11 08:05:11 -07:00
Xavier Deguillard
be1aeaf5be utils: add default constructor to ImmediateFuture
Summary:
When a T can be default constructed, make an ImmediateFuture default
constructible.

Reviewed By: fanzeyi

Differential Revision: D28292874

fbshipit-source-id: 4c239cc9c3f448652b2bcdc103ea1a81ace46402
2021-05-11 08:05:11 -07:00
Xavier Deguillard
f331a0c3f9 utils: add noexcept qualifier to ImmediateFuture
Summary: This should help the compiler generate even better code.

Reviewed By: chadaustin

Differential Revision: D28153979

fbshipit-source-id: b1d84c92af4fa760c92624c53d7f57330d7706fa
2021-05-11 08:05:11 -07:00
svcscm svcscm
3575f87d39 Updating submodules
Summary:
GitHub commits:

ed1888aece
eb758b534d
1f7e7d09cb
b10b837705
87a66df608
295491fdb5

Reviewed By: wittgenst

fbshipit-source-id: 47e39bd9475b4008aa5db0a1ab626c80367a8d9e
2021-05-11 07:58:53 -07:00
svcscm svcscm
310b1f7f6c Updating submodules
Summary:
GitHub commits:

683d9799e5
7f714b5c79
072fb27dc1
2ab5be3132
e2666566f3
9f2d255aed
a28117bd6f
9fd4484449
0354f157c4
afe1b20a52
426539be50

Reviewed By: wittgenst

fbshipit-source-id: 010284b07aa7b54be90d949666eb8038191ebb44
2021-05-11 07:20:21 -07:00
Thomas Orozco
baaf300c12 mononoke/edenapi: don't discard ctx.scuba() logs
Summary:
This has been here for a little while, but it's worth changing. Currently, we
entirely discard logs coming via a CoreContext in EdenAPI.

We don't typically log many of those anywhere in Mononoke, but when we do they
tend to be for error conditions, warnings, or aggregated reporting, and can be
quite meaningful as a result.

So, let's update to not discard them. To make it easy to differentiate those
logs from EdenAPI request-level logs (even though they'll both have `service` =
`edenapi`), let's give the latter a Log Tag (which is consistent with what
we do in repo client).

Differential Revision: D28350733

fbshipit-source-id: 3b12a4b56f28435460186e1f7578163ca7bdaebc
2021-05-11 06:45:37 -07:00
svcscm svcscm
212cd894ca Updating submodules
Summary:
GitHub commits:

77e9fa1666
c7ead10786
1f3358c979
859cdc5ee1
e270045a55
3369c46c36
af3ff85a9d
c482427e93
e2020d2eca
0852c0a13a

Reviewed By: wittgenst

fbshipit-source-id: 16d98e3a2aaae8d9ea2b884582c4d174a0dd3fe5
2021-05-11 05:34:44 -07:00
svcscm svcscm
79dc7cfbed Updating submodules
Summary:
GitHub commits:

956885e913

Reviewed By: wittgenst

fbshipit-source-id: cfcf403de6bd69785505366d0c7971735a815265
2021-05-11 05:02:34 -07:00
svcscm svcscm
fa4d51289b Updating submodules
Summary:
GitHub commits:

1e3bf37b6c
478c7842a6
481cc8eb69
b968e2de85

Reviewed By: wittgenst

fbshipit-source-id: 81e2c392d06b846174d82f931a33aa52b0d4b551
2021-05-11 03:05:33 -07:00
Stanislau Hlebik
79561defed mononoke: support reading megarepo configs
Summary:
Previously it was possible to write configs only, now it's possible to read
them as well.

Reviewed By: ikostia

Differential Revision: D28326571

fbshipit-source-id: d946201a384cc3998d1c197b7eabb77b9f35129d
2021-05-11 02:54:01 -07:00
Stanislau Hlebik
4e232ea94d mononoke: add mapping for megarepo
Summary:
Adding mappng to keep track of two things:
1) keep track of the latest source commit that was synced into a given target - this will be used during sync_changeset() method to validate if a parent changeset of a given changeset was already synced
2) which source commit maps to what target commit

Reviewed By: ikostia

Differential Revision: D28319908

fbshipit-source-id: f776d294d779695e99d644bf5f0a5a331272cc14
2021-05-11 02:54:01 -07:00
svcscm svcscm
0132e43221 Updating submodules
Summary:
GitHub commits:

df6f10e4c2
feb6020ee7
17aafa2df7
68e6f7019a
6d0480bc64

Reviewed By: wittgenst

fbshipit-source-id: d03d48b60458c5b7f3e0cee5471162f744ad96f9
2021-05-11 02:33:23 -07:00
svcscm svcscm
21488d036a Updating submodules
Summary:
GitHub commits:

bdc7cb4f99

Reviewed By: wittgenst

fbshipit-source-id: abeb94e4d09e6356b098683348844d973ebd1928
2021-05-11 01:42:21 -07:00
svcscm svcscm
0d58830ee8 Updating submodules
Summary:
GitHub commits:

b2ef2e5cf8
5db94d1695
bccffbe20a
3b2502042f

Reviewed By: wittgenst

fbshipit-source-id: e6e7eac297b44ae2a890fba8bc2b0205b26ed189
2021-05-10 21:44:14 -07:00
svcscm svcscm
a2e0b068ff Updating submodules
Summary:
GitHub commits:

9fc96c4ca5
67d8125d89
f5c4491680
c822d50424
b1eed456e6
439d6911c0
d492d29ea1

Reviewed By: wittgenst

fbshipit-source-id: a24c5a560e63993e018f4e94b061266785432834
2021-05-10 21:10:05 -07:00
svcscm svcscm
5dba95873f Updating submodules
Summary:
GitHub commits:

a9ba49b5c4
7b4903150a
1caa97a508
55a3bdc65e
0b521a1003
c829df15c8
528e642cde
7cb0631f84
3379c02045
bcba0cf246

Reviewed By: wittgenst

fbshipit-source-id: caa4affab15e5dd4e076e18c16efe27fe5d7f831
2021-05-10 20:44:41 -07:00
svcscm svcscm
dfa0c8ad40 Updating submodules
Summary:
GitHub commits:

e5efeb66a5
563c216340
3e517e6a7c
1ea025486d
fd029e0a91
043db9e417
20c15d5e53
e7afa408a2
6f978c9f80
7cc71d8665
69784039d8
946e29386e

Reviewed By: wittgenst

fbshipit-source-id: d68e527e9ddca76d1a1e7c0bdc74b0933a6b1395
2021-05-10 19:32:25 -07:00
svcscm svcscm
9fa46425a6 Updating submodules
Summary:
GitHub commits:

eb2a0d6303
546ffec449
0ce1c25ebd
96b303638f
f14d3bcb08
aa35538cda
04d50e5a52
6625e23980
c64423d682
9354ca7f63
88377910c8

Reviewed By: wittgenst

fbshipit-source-id: 4d22ba0532c1a2c769685f516090959746b1c5bc
2021-05-10 18:25:57 -07:00
svcscm svcscm
3063060032 Updating submodules
Summary:
GitHub commits:

80fdd6234f
9f29b437dd
50a6a7ea51
983724bc00
5a5a8cd11a
fee368bb50
43bce2f155
913f8b49d1
430ead8470
8097b51b4b
34ae32e61f
8987f6b924
efa3927de9

Reviewed By: wittgenst

fbshipit-source-id: e9d097861ff0b5f066d2b6d361fe9c6c4efc83c3
2021-05-10 17:58:17 -07:00
svcscm svcscm
9dcbd0aac5 Updating submodules
Summary:
GitHub commits:

7caee4a9a1
e75e882977
a4253ec787
ff463742b5
4b1ecb0fc6
38c903ba2f
f96a681888
566d74c27c

Reviewed By: wittgenst

fbshipit-source-id: cf87b759152e082c8959d810aa1bae46dc34e112
2021-05-10 14:48:58 -07:00
Xavier Deguillard
1aa6e143e6 fuse: allow applexattr with macFUSE
Summary: This is the same change as D27137328 (a9a1b73418) but for macFUSE.

Reviewed By: kmancini

Differential Revision: D28328029

fbshipit-source-id: c58e146dba2e7e3bdb320f2b5e80946e4a7b3afe
2021-05-10 13:37:43 -07:00
Genevieve Helsel
728e643a48 use eden daemon background prefetch logic instead of python subprocesses
Summary: With the addition of the ability to "background" the prefetches in the daemon itself, we can remove the subprocess backgrounding in the python layer and just depend on the internal backgrounding.

Reviewed By: chadaustin

Differential Revision: D27825274

fbshipit-source-id: aa01dc24c870704272186476be34d668dfff6de5
2021-05-10 12:42:50 -07:00
Xavier Deguillard
29d003865f fuse: workaround macFUSE ABI change
Reviewed By: chadaustin

Differential Revision: D25505235

fbshipit-source-id: 31a2b3993801de4c8f084213e73f623dba820ef6
2021-05-10 12:39:33 -07:00
svcscm svcscm
28b1cf2259 Updating submodules
Summary:
GitHub commits:

774f5baeab
be6e15efb0
27991bf1d1
eb05c99b95

Reviewed By: wittgenst

fbshipit-source-id: 3608634ea4e44f10e47419bbb933689c48a01d87
2021-05-10 12:22:04 -07:00
Chad Austin
d45b2711a2 remove the dead getTreeForManifest
Summary: getTreeForManifest is no longer called, so remove it.

Reviewed By: genevievehelsel

Differential Revision: D28306796

fbshipit-source-id: e51a32fa7d75c54b2e3525e88c162247b4496560
2021-05-10 11:53:30 -07:00
Stanislau Hlebik
df340221a0 mononoke: add commit_rewriting logic to megarepo_api
Summary:
This is going to be use to rewrite (or transform) commits from source to
target. This diff does a few tihngs:
1) adds a MultiMover type and a function that produces a mover given a config. This is similar to Mover type we used for fbsource<-> ovrsource megarepo sync, though this time it can produce a few target paths for a given source path.
2) Moves `rewrite_commit` function from cross_repo_sync to megarepo_api, and make it work with MultiMover.

Reviewed By: ikostia

Differential Revision: D28259214

fbshipit-source-id: 16ba106dc0c65cb606df10c1a210578621c62367
2021-05-10 11:48:23 -07:00
svcscm svcscm
f359ca9cf9 Updating submodules
Summary:
GitHub commits:

8f656f6a50
442c58d560

Reviewed By: wittgenst

fbshipit-source-id: 9695d9e78ede9477fa7f50a6571224bafbc2ccc9
2021-05-10 11:40:59 -07:00
Jan Mazur
ceb03efb60 disable debuginfo stripping to work around eu-strip failing
Summary: Don't need this.

Reviewed By: HarveyHunt

Differential Revision: D28322229

fbshipit-source-id: 3743cb5f80488f33f1a00b4d0a665cd310f2a784
2021-05-10 08:35:16 -07:00
Kostia Balytskyi
f10ef62cba megarepo: basic version of async-requests crate
Summary:
This crate is a foundation for the async requests support in megarepo service.

The idea is to be able to store serialized parameters in the blobstore upon
request arrival, and to be able to query request results from the blobstore
while polling.

This diff manipulates the following classes of types:
- param types for async methods: self-explanatory
- response types: these contain only a resulting value of a completed successful execution
- stored result types: these contain a result value of a completed execution. It may either be successful or failed. These types exist for the purpose of preserving execution result in the blobstore.
- poll-response types: these contain and option of a response. If the optional value is empty, this means that the request is not yet ready
- polling tokens: these are used by the client to ask about the processing status for a submitted request

Apart from that, some of these types have both Rust and Thrift counterparts, mainly for the purposes of us being able to implement traits for Rust types.

Relationships between these types are encoded in various traits and their associated types.

The lifecycle of an async request is as follows therefore:
1. the request is submitted by the client, and enqueued
   1. params are serialized and saved into a blobstore
   1. an entry is created in the SQL table
   1. the key from that table is used to create a polling token
1. some external system processes a request [completely absent form this diff]
   1. it notices a new entry in the queue
   1. it reads request's params from the blobstore
   1. it processes the request
   1. it preserves either a success of a failure of the request into the blobstore
   1. it updates the SQL table to mention that the request is now ready to be polled
1. the client polls the request
   1. queue struct receives a polling token
   1. out of that token it constructs DB keys
   1. it looks up the request row and checks if it is in the ready state
   1. if that is the case, it reads the result_blobstore_key value and fetches serialized result object
   1. now it has to turn this serialized result into a poll response:
       1. if the result is absent, poll response is a success with an empty payload
       1. if the result is present and successful, poll response is a success with the result's successful variant as  a payload
       1. if the result is present and is a failure, the polling call throws a thrift exception with that failure

Note: Why is there yet another .thrift file introduced in this diff? I felt like these types aren't a part of the scs interface, so they don't belong in `source_control.thrift`. On the other hand, they wrap things defined in `source_control.thrift,` so I needed to include it.

Reviewed By: StanislavGlebik

Differential Revision: D27964822

fbshipit-source-id: fc1a33a799d01c908bbe18a5394eba034b780174
2021-05-10 06:51:37 -07:00
Alex Hornby
cce23856fc mononoke: sample size metadata for all component blobstores
Summary: Log the blobstore id as part of sampled pack info.  This is allows running the walker pack info logging directly agains a multiplex rather than invoke it for one component at a time.

Reviewed By: farnz

Differential Revision: D28264093

fbshipit-source-id: 0502175200190527b7cc1cf3c48b8154c8b27c90
2021-05-10 06:07:59 -07:00
Alex Hornby
a616a72e44 mononoke: add samplingblob variant with BlobstoreId
Summary:
When sampling multiplex stores its interesting to know which component of the store one is sampling.

This adds a new SamplingBlobstorePutOps struct with implements the BlobstorePutOps that multiplex blobstore requires.  Its connected up to blobstore factory in the next diff.

Reviewed By: farnz

Differential Revision: D28264444

fbshipit-source-id: 560de455854b6a6794b969d02046d67d372efd37
2021-05-10 06:07:59 -07:00
svcscm svcscm
488c3a920b Updating submodules
Summary:
GitHub commits:

74978e1927
c690fed78e
d1ed747b99
bedaf2eb59
9359154fea

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: c38b59c1142c2a9bf22773879fc6c245b70beaf5
2021-05-10 05:57:46 -07:00
Kostia Balytskyi
0617e3489e move scm/service into eden/mononoke/scs
Reviewed By: ahornby

Differential Revision: D28286267

fbshipit-source-id: 349a2d94eca9cf563ee2bb4076e268917aaa4fd6
2021-05-10 05:53:38 -07:00
Thomas Orozco
b9b5e16dcf mononoke/multiplexedblob: retry is_present in the face of races
Summary: What we're trying to do here is all explained in the inline comments.

Reviewed By: farnz

Differential Revision: D28287486

fbshipit-source-id: 605c5272118b9d0b76f6284f4e81febe4b6f652e
2021-05-10 05:40:06 -07:00
CodemodService Bot
e2a64a3088 Daily common/rust/cargo_from_buck/bin/autocargo
Reviewed By: krallin

Differential Revision: D28319288

fbshipit-source-id: fc879fab6d7c2abd5184ccfbacf2aa2a8f3d8003
2021-05-10 05:06:45 -07:00
svcscm svcscm
c4a9890c3b Updating submodules
Summary:
GitHub commits:

de540c37b9

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 171e188ee6daa611ddbc20b5451b061d875d3306
2021-05-10 04:41:17 -07:00
Thomas Orozco
58f7f50188 revisionstore: include version in user agent
Summary: Right now this is not very useful. Let's make it more useful.

Reviewed By: DurhamG

Differential Revision: D28281653

fbshipit-source-id: ef3d7acb61522549cca397048c841d1afb089b9b
2021-05-10 01:36:14 -07:00
svcscm svcscm
2d633ec52b Updating submodules
Summary:
GitHub commits:

fad3b970f3
e37242ca14
78d99b1fe8
5219820c46

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 4a2d930e7f5c2596df0909323b5b214957602ddc
2021-05-08 17:40:43 -07:00
svcscm svcscm
24495b3acc Updating submodules
Summary:
GitHub commits:

07b5529359
50867396a9
5d936f0dd7
c822073859
63b1af515f
1af66cfe68

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: c5396cd016a85648b2569c63ac8d386278b1e004
2021-05-08 16:48:38 -07:00
svcscm svcscm
913011f8ba Updating submodules
Summary:
GitHub commits:

56eac6a617
b598fb591a
af03544afa
ca21af1e0e
68c66a1928
7f64a55b17
f9e7b14928
fddf1fbb3e
74f6c7caa7

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 9cbadb002f992ed213db070a91e75577bc1877ca
2021-05-08 16:02:54 -07:00
svcscm svcscm
8bbfbf9d99 Updating submodules
Summary:
GitHub commits:

7c9d35af9e
ff5f304457
0393eefe3f
6d7f12f3ae
ade67a9659
a51173908e
74e8902106
32b833b22d
f986a2cb94
63dc562254

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 6d71fe1fb215889a6646e7f227b4337c347d69e1
2021-05-08 15:14:41 -07:00
svcscm svcscm
159a33c0ed Updating submodules
Summary:
GitHub commits:

ba405c6be5
113c57d8c6
c36efb7574
565a4ad1b1

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: b001fb7cccbeadac27c648796b33c8315559529a
2021-05-08 14:43:47 -07:00
svcscm svcscm
aad99493de Updating submodules
Summary:
GitHub commits:

fc28fae8c0
a22c213648
0d7c785107
d684f4b3ab

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: ddd40e6009bfc267590a9c5ef18b0d8676e50369
2021-05-08 02:38:18 -07:00
svcscm svcscm
a53c89b21a Updating submodules
Summary:
GitHub commits:

06acb5dbfc
9dcad573ea
a148cc2d04
d63ab51a60
7f21a26524

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 9d054142e329488dce7f9fa695207117420d7e03
2021-05-08 01:50:27 -07:00
svcscm svcscm
bfc3885adc Updating submodules
Summary:
GitHub commits:

f4d7738198
ad26ecf61d
896fe197c9
27eab142dc
4cd6de59ea

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 45497c6f356c1d74fa8322c263216b59dc2a50c0
2021-05-08 00:56:57 -07:00
svcscm svcscm
4e0de747f7 Updating submodules
Summary:
GitHub commits:

b188616d58
2f38c075a3
15fe21db7e
67a7b3c8cb
ac81805cec
def5384484

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 0abedbf1770a4c756bbb5512f720e925dab3a3c3
2021-05-08 00:09:57 -07:00
svcscm svcscm
05704d1eda Updating submodules
Summary:
GitHub commits:

90c3f70cff
bb8bab2df3
4356c1b860
8b4a2dc6f6
bc49837090
85308044d8
1c0b4b3020
139cacd8fa
8b03c992e0

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: a5c8fb37f8db633bedadb7e2d0cff06e2c4749fc
2021-05-07 23:23:08 -07:00
svcscm svcscm
a01d231a28 Updating submodules
Summary:
GitHub commits:

2946f62f34
c09fb195e1
1a8b7d8b17
49f3c82b50
7fe70e0219
75c6a49915
d46082ee98
eaa665a87c
facf4e00b6
df4d8cec86
9a522ab231
e0f29e15aa

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 095d273411f5c6d7bfd1c475ab615371458ecfed
2021-05-07 22:45:53 -07:00
svcscm svcscm
09b63dda52 Updating submodules
Summary:
GitHub commits:

189b263e68
b24643035f
4402f583fd
3ebceef0cb
1dbf6e805e

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 7458e24e416a54dda42f6e14cc5915563717b57c
2021-05-07 22:10:50 -07:00