Commit Graph

67775 Commits

Author SHA1 Message Date
svcscm svcscm
1a10894b42 Updating submodules
Summary:
GitHub commits:

21bd25e8e5
603706c91c
ae393e7c53
85db547f2b
8c576d5b36
f3c5bcc011
9089a1f0b1
d356eae94f
d2aa5aeed6
1b29543529
5120f6ac66

Reviewed By: yns88

fbshipit-source-id: 382a3907d1f2ab54333ee5c27694552ab4ba9ec6
2021-09-02 13:53:49 -07:00
Stanislau Hlebik
d08bf2b5c7 Back out "revlogindex: implement octopus merge support"
Summary:
Original commit changeset: d5aa2f18a02f

See https://www.internalfb.com/intern/testinfra/diagnostics/4503599694158597.844424967049391.1630548327/

For some reason these tests didn't run on original diff, we are still figuring
out why

Reviewed By: mitrandir77

Differential Revision: D30732364

fbshipit-source-id: 9f213766e7c440bb7ca131a127f5089698b6162e
2021-09-02 13:24:31 -07:00
Yipu Miao
6c5db887dd Regenerate rust file for eden
Summary: This is regenerated rust lib using the latest compiler

Reviewed By: krallin

Differential Revision: D30720130

fbshipit-source-id: 3d3389ec8504568fc356dda1577e1f7801cb7e96
2021-09-02 13:16:41 -07:00
svcscm svcscm
8beb587a0e Updating submodules
Summary:
GitHub commits:

b57cbe006b
19d451c1b9
65b671f420
0c8f7e291b
a7c507ff4d
a1c00f89da
2ebe6f31f6
2aa84136eb
49760688b5
d5f91733ac
b8e610b348
2605b5d6c6
0ef05c8236
784ca7e75b

Reviewed By: yns88

fbshipit-source-id: e5b6e63b828a855d77e04e448f663a98911cef07
2021-09-02 13:06:56 -07:00
Zeyi (Rice) Fan
8e3f2f32cb add support to custom main branch name
Summary: This diff adds support to customize main branch name when generating GitHub Actions.

Differential Revision: D30679305

fbshipit-source-id: 0fc7eb1c97c27e2b42e60cc1ab69a48ab93b93fa
2021-09-02 12:43:31 -07:00
Jeremy Fitzhardinge
e5e2c39f20 third-party/rust: update strum
Summary:
~~Also enable the `derive` feature so it isn't necessary to separately
depend on `strum_macros`.~~
This turns out to break a lot.

Reviewed By: dtolnay

Differential Revision: D30709976

fbshipit-source-id: a9181070b8d7a8489eebc9e94fa24f334cd383d5
2021-09-02 11:26:28 -07:00
Arun Kulshreshtha
1125a46864 edenapi: use Arc<Inner> pattern in Client
Summary: Move `edenapi::Client`'s internals to an `Arc<ClientInner>`. This makes the client `Clone`-able while sharing the same underlying state. This is particularly useful for scenarios where `Future`s or `Stream`s returned by the client need to hold a reference to the client itself (e.g., in order to issue subsequent HTTP requests).

Differential Revision: D30729803

fbshipit-source-id: c97e700c9e3702f818eb86ded1a46f920a55cfd1
2021-09-02 11:26:28 -07:00
Arun Kulshreshtha
bb090a45f5 edenapi: rename Fetch to Response
Summary: The `Fetch<T>` type has basically turned into the canonical type EdenAPI for all EdenAPI responses. Originally, this type was merely an implementation detail (essentially just a named tuple returned by the `fetch()` method, hence the name), but given its prominence in the API, the name is confusing. As we add more functionality and usage to this type, it makes sense to give it a more suitable name.

Differential Revision: D30730573

fbshipit-source-id: 7acd2a86b55bdfc186bd9110f6a99333df9d29d3
2021-09-02 11:26:28 -07:00
Arun Kulshreshtha
0ba2df7e1d edenapi: use more descriptive names for private methods
Summary:
Some of the method names used internally by `edenapi::Client` are a bit terse.

This was OK back when there were only handful of private methods which were used by a small number of API methods that were doing more or less the same thing (sending concurrent POST requests for a set of keys).

Today, there are way more API methods, most of which set up requests in different ways. As such, it makes sense to give these older private methods more explicit and descriptive names so that their intended usage is clear.

Differential Revision: D30729802

fbshipit-source-id: 5adfd8e7ba153df8c036e4dbb312f95b9b1d7335
2021-09-02 11:26:28 -07:00
svcscm svcscm
4ec6c16503 Updating submodules
Summary:
GitHub commits:

80a767fc1a
7e1b8eee15
bb0735368b
60d9f5d791
b9f714cfd7
361895ad79
c9f76a3a24
365f78c68f
a4f65104b3
b186939c63
f1e3bae32a
6e166c404b
ab2be4a314
f744bd648c

Reviewed By: yns88

fbshipit-source-id: 845f9aa6a74de3446146799832a420b6e8aa7a35
2021-09-02 11:26:28 -07:00
Meyer Jacobs
4dfc576ea0 scmstore: forward repack calls for trees in addition to files
Summary: Allow repack to be called on treescmstore via the ContentStore shim like filescmstore is already supported.

Reviewed By: andll

Differential Revision: D30687145

fbshipit-source-id: 7559af08e98cfb22da6dbf45dc1746312b1e6d28
2021-09-02 11:26:28 -07:00
Meyer Jacobs
705d9b27c3 scmstore: implement LegacyStore for TreeStore
Summary:
Provide a basic implementation of the LegacyStore trait for TreeStore to allow repack calls to be forwarded to the fallback ContentStore for trees.

Repack will be removed entirely before contentstore is deleted, and the `unimplemented` methods are never called, so this should be safe.

Reviewed By: andll

Differential Revision: D30687136

fbshipit-source-id: d238d70fbf6be5c25c2e1c9610430a53d031bf3b
2021-09-02 11:26:27 -07:00
Anuradha Weeraman
d84d56c04c Changes for building in Debian (#943)
Summary:
Some changes that had to be done in Debian for the build to work:

* Installation of system deps failed as it was not detecting the OS correctly
* Updated the CMake manifest to uncomment the deb dependency as the CMake versions are newer
* fb303 was not getting cloned as it was looking for a non-existent master branch

Pull Request resolved: https://github.com/facebook/watchman/pull/943

Differential Revision: D30700180

Pulled By: fanzeyi

fbshipit-source-id: 62eb9f8ba57510eb98d6bd56e40384bf38a74d8c
2021-09-02 10:32:03 -07:00
Zhengchao Liu
8fe7e16f7c log FS trace events with HiveLogger
Summary: This diff lets `FsEventLogger` send the sample through `HiveLogger`

Reviewed By: genevievehelsel

Differential Revision: D30305695

fbshipit-source-id: 88613dc6c74710cc0f33c44ce4e36c35c58e6406
2021-09-02 10:32:03 -07:00
Stanislau Hlebik
7d4c7fab26 mononoke: log changeset id when inserting mapping
Summary: Looks like it was lost during the last refactoring, let's add it back.

Reviewed By: farnz

Differential Revision: D30728456

fbshipit-source-id: 20c638b3c5a8664f2367f871cd29a793fd897de3
2021-09-02 09:28:39 -07:00
Arun Kulshreshtha
b9a95f33a3 http-client: implement seek() for Buffered and Streaming handlers
Summary:
Some users have reported errors of the form:
```
error.HttpError: [65] Send failed since rewinding of the data stream failed (seek callback returned error 2)
```

These are caused by the fact that we're passing the HTTP request body directly to libcurl in memory rather than via a file, but we haven't implemented the `seek()` method necessary for libcurl to retransmit the data if needed. This diff implements the method.

Reviewed By: DurhamG

Differential Revision: D30654625

fbshipit-source-id: f21a067ad02ee540b86cf2e6eff2c6f08f45a3e4
2021-09-02 08:26:02 -07:00
svcscm svcscm
a6d2529c33 Updating submodules
Summary:
GitHub commits:

80e6cadae5

Reviewed By: yns88

fbshipit-source-id: 2305112fa3eef43f14639e2ddf0ad4c29336a47c
2021-09-02 07:27:54 -07:00
Thomas Orozco
35e3466031 third-party/rust: update daemonize to 0.5
Summary:
Like it says in the title, this updates us to use Daemonize 0.5, though from
Github and not Crates.io, because it hasn't been released to the latter yet.

The main motivation here is to pull in
https://github.com/knsd/daemonize/pull/39 to avoid leaking PID files to
children of the daemon.

This required some changes in `hphp/hack/src/facebook/hh_decl`  and `xplat/rust/mobium` since the way to
run code after daemonization has changed (and became more flexible).

Reviewed By: ndmitchell

Differential Revision: D30694946

fbshipit-source-id: d99768febe449d7a079feec78ab8826d0e29f1ef
2021-09-02 06:27:03 -07:00
svcscm svcscm
02604e98b0 Updating submodules
Summary:
GitHub commits:

f6e7be6ee1

Reviewed By: yns88

fbshipit-source-id: f49f5a1e3f4d4ae2d7406902bf61cb1da7dd1536
2021-09-02 04:27:33 -07:00
Stanislau Hlebik
60d6172ea0 mononoke: make it possible to force reload segmented changelog
Summary:
At the moment when segmented changelog is updated and/or reseeded mononoke
servers can pick it up only once an hour (this is a current reload schedule)
or when mononoke server is restarted. However during production issues (see
attached task for an example) it would be great to have a way to force all
servers to reload segmented changelog.

This diff makes it possible to do so with a tunable. Once tunable changes its
value then monononoke servers almost immediately (subject to jitter) reload it.

This implementation adds a special loop that polls tunables value and reloads
if it changes. Note that in theory it could avoid polling and watch for configerator
changes instead, but it would be harder to implement and I decided that it's
not worth it.

Reviewed By: farnz

Differential Revision: D30725095

fbshipit-source-id: da90ea06715c4b763d0de61e5899dfda8ffe2067
2021-09-02 04:27:33 -07:00
Meyer Jacobs
9cdd1c0e96 scmstore: chunk prefetch calls to avoid OOM
Summary:
Previously, extremely large prefetch calls could cause an OOM if the requested files were all fetched remotely from EdenApi, in which case the memory would remain in use until the entire batch had been fetched.

With this change, at most 1000 EdenApi files will be held in memory at once (or 10GB of memory). This is a stop-gap solution, a better approach would be to avoid storing all EdenApi files in memory after a certain amount, or allow the batch fetching implementation to understand we're only prefetching, and thus avoid reading anything back from disk or storing EdenApi files in memory unnecessarily.

Reviewed By: andll

Differential Revision: D30686054

fbshipit-source-id: 022e353760c515961a8956f7958b43f429143971
2021-09-02 03:31:04 -07:00
svcscm svcscm
69a6965b50 Updating submodules
Summary:
GitHub commits:

a98ffabee7
a6750c531c
2edb670b06
8f5e191741

Reviewed By: yns88

fbshipit-source-id: c6dfcd51714cee2b50ca2c14bddb344903e94582
2021-09-02 03:31:04 -07:00
Thomas Orozco
0d2bfbeccd Update autocargo component on FBS:master
Summary:
Manual component version update
Bump Schedule: https://www.internalfb.com/intern/msdk/bump/?schedule_fbid=342556550408072
Package: https://www.internalfb.com/intern/msdk/package/181247287328949/
Oncall Team: rust_foundation
NOTE: This build is expected to expire at 2022/09/01 09:14AM PDT
---------
New project source changes since last bump based on D30663071 (08e362a355e0a64a503f5073f57f927394696b8c at 2021/08/31 03:47AM -05):
| 2021/08/31 04:41AM -05 | generatedunixname89002005294178 | D30665384 | [MSDK] Update autocargo component on FBS:master |
| 2021/08/31 07:14PM PDT | kavoor | D30681642 | [autocargo] Make cxx-build match version of cxx |
| 2021/09/01 04:05PM BST | krallin | D30698095 | autocargo: include generated comment in OSS manifests |
---------

build-break (bot commits are not reviewed by a human)

Reviewed By: farnz

Differential Revision: D30717040

fbshipit-source-id: 2c1d09f0d51b6ff2e2636496cf22bcf781f22889
2021-09-02 02:33:56 -07:00
svcscm svcscm
5304274a7d Updating submodules
Summary:
GitHub commits:

b181059e89

Reviewed By: yns88

fbshipit-source-id: bbb509f17dd45463f292ced3e2c52528e3ac505b
2021-09-02 02:31:41 -07:00
svcscm svcscm
b9149b343a Updating submodules
Summary:
GitHub commits:

908f5ebefa
f65e4f23f8
958ed9c422
bd2b357559

Reviewed By: yns88

fbshipit-source-id: a5649a4ecf826f30884f35672d1925533c752999
2021-09-02 00:34:07 -07:00
svcscm svcscm
49ac569231 Updating submodules
Summary:
GitHub commits:

ffc35d8280
0066df00f0
ad19131831
590bd72abf
aa9878b215
174fc14d82

Reviewed By: yns88

fbshipit-source-id: a70fdbfa75a7e8ef7d95e131800b85d20a296d41
2021-09-01 23:25:40 -07:00
svcscm svcscm
bec57768a0 Updating submodules
Summary:
GitHub commits:

2514f078f4
eec533b6cc
dfcb9ea5fa
b00d5fb188
0f99cce19a

Reviewed By: yns88

fbshipit-source-id: ced6cf79d500ec2ae835c21c314718e47bf43862
2021-09-01 22:29:26 -07:00
svcscm svcscm
729d92c77e Updating submodules
Summary:
GitHub commits:

49da54db2a
096965dc3c
890ace5afd
282c8bcf19
e8a7001159
5fb8bc0f3a
b43e87a299
7e02f8f28e

Reviewed By: yns88

fbshipit-source-id: ed7ef6406e34e89e6fa07011a1b6f28fece89472
2021-09-01 21:37:59 -07:00
svcscm svcscm
54f2561c4a Updating submodules
Summary:
GitHub commits:

8ef22aa51e
c4e4d7a1e3
4f9cadf3b6
81297b86c1
2cd9851d2f
136e41a580
a1dafbedba
d0d9b48453
1915980093

Reviewed By: yns88

fbshipit-source-id: 97119a7675858f8e76cb41509bd47c469065ab3b
2021-09-01 19:26:12 -07:00
svcscm svcscm
caea670188 Updating submodules
Summary:
GitHub commits:

c2ccacb373
613d1fdd63
bf7c35030a
be2295daf2
71bbe79abd
9c5c50fcc0
7c1a746e0e
9ab75da784
da9763374f
c2febefb55
c2eb5134c2
3af86b08c7

Reviewed By: yns88

fbshipit-source-id: e13e61479c11ab3e122af0a97dd6a7c11920cee1
2021-09-01 18:28:53 -07:00
Yipu Miao
d7afd687ea Rename fbthrift_ext to fbthrift_ext-02
Summary: Keep two versions of fbthrift_ext that one with tokio-0.2 and the other with tokio-1.x. This diff is just renaming.

Reviewed By: dtolnay

Differential Revision: D30558441

fbshipit-source-id: bfe7e96b95529f2745f635190df5118a0cb44014
2021-09-01 18:28:53 -07:00
svcscm svcscm
80d4b7335e Updating submodules
Summary:
GitHub commits:

e6b8efb176
23419bd0f6
0092442bb2
4ae8b4df0f
ff34b290fa
2e03abf9df
dc7b7133e5
fa1cf04640
c07ecb1c4f
a6d068b3e3
016a51a173

Reviewed By: yns88

fbshipit-source-id: 395d00e40970daeed869831947bd28a0acdfd963
2021-09-01 17:28:01 -07:00
svcscm svcscm
edfbbfbe94 Updating submodules
Summary:
GitHub commits:

8e7b733de0
ed33c339ea
df8714a6d1
1424eadb83
b32dbbcea2
af292cef27
7cc809e446
6e8ec89b92
79aac633f1
e975d99768
77f487939b
22dd1197de
ac9044e401

Reviewed By: yns88

fbshipit-source-id: 49b8775d2b8eefe89aa76d924846d670e81c61d6
2021-09-01 16:30:10 -07:00
Xavier Deguillard
69159f20d5 store: split the blob/tree/prefetch queue
Summary:
Having the same queue for all three makes the dequeue code overly complicated
as it needs to keep track of the kind of request that needs to be dequeued.
Incidently, the previous code had a bug where request in "putback" would be
requeued at the end of the queue, even though there were at the beginning of it
if they all had the same priorities.

This is theory should also improve the dequeue performance when the queue has a
mix of blobs/tree requests, but I haven't measured.

Reviewed By: genevievehelsel

Differential Revision: D30560490

fbshipit-source-id: b27e5429105c07e5f9eab482c12e5699ca3413f7
2021-09-01 14:29:27 -07:00
Xavier Deguillard
54de90fa1b service: background actual prefetch of files
Summary:
Since the background condition is before the actual prefetching of files,
specifying the background option would just glob files but not prefetch them
which is equivalent to prefetching all the trees.

Reviewed By: genevievehelsel

Differential Revision: D30618753

fbshipit-source-id: 5533b1c78d614342ac3341ce033795be3850750a
2021-09-01 14:29:27 -07:00
svcscm svcscm
f87ca0258c Updating submodules
Summary:
GitHub commits:

7db90ebbd0
a1972f8679
a160fd8e85
a782676bbc
8084715adc
3ad284b879
19af4061d9
1d04c37775
bca70f0bfa
60f11748b2
0846b809ad
ffcc83a93a
4f35477729
2c83c515b8
e4a5d407e0
379e31189b
7fbf128f30

Reviewed By: yns88

fbshipit-source-id: 6d5c99c2c9bdde4a6c4e5be8678754eda9e8eaf6
2021-09-01 14:29:27 -07:00
Meyer Jacobs
edad2caf13 scmstore: fix warnings on master
Summary:
It looks like a few scmstore changes landed with warnings (probably fixed higher up in the tree unification stack).

This change fixes those warnings.

Differential Revision: D30686092

fbshipit-source-id: d80625dea64f35683f815b58c83a3e5bb7cbdfa8
2021-09-01 11:26:24 -07:00
Durham Goode
81d2d0f010 sparse: fix sparse profile refreshes during hg commit
Summary:
When we remove a file from a sparse profile and commit the profile, it
should delete the file on disk. There's a bug where it doesn't actually delete
the file. This fixes it by passing the correct commit parents to the refresh
function.

Reviewed By: andll

Differential Revision: D30683677

fbshipit-source-id: 7f012faa99975d8270209f2962e7f9236890daed
2021-09-01 10:27:30 -07:00
Jun Wu
58ab76f9f0 dag: avoid excessive remote lookup during id reassignment
Summary:
Use `populate_missing_vertexes_for_add_heads` (added by D27630093 (f138b012e9)) to avoid
excessive lookups for non-master ids that remain in non-master.  The function
was used in two other `flush` cases, but missed the id reassignment case.  It
works basically by using the "discovery" logic to quickly rule out what's
missing and what's present (ex. if a root is missing in the server graph, then
all descendants of the root is missing).

Reviewed By: andll

Differential Revision: D30700451

fbshipit-source-id: 1f1cd88399dbffd4af75083fef1f3e363a5c60fe
2021-09-01 10:27:30 -07:00
Jun Wu
5baa4c5f51 dag: add test case to demonstrate excessive remote lookup during id reassignment
Summary: During reassigning non-master ids, it might trigger too many remote lookups.

Reviewed By: StanislavGlebik

Differential Revision: D30700452

fbshipit-source-id: 2483335e466c3de8a362f7b6a15fc4ba9e2693be
2021-09-01 10:27:30 -07:00
Jun Wu
7eb11cb392 revlogindex: implement octopus merge support
Summary:
Support octopus merge defined in the following format:

- The revlog flag has `1 << 12` set.
- Extra `stepparents` is set to `hexnode1,hexnode2,...` format.

This is mainly used to support revlog from stream clone.

Reviewed By: StanislavGlebik

Differential Revision: D30686450

fbshipit-source-id: d5aa2f18a02f5f0d7aa033210fb4f79b729c0d26
2021-09-01 09:25:33 -07:00
Jun Wu
b13579fdf9 revlogindex: extend ParentRevs to support more than 2 parents
Summary:
Extend the struct so we can support more than 2 parents.

The size of the sturct is now 16 bytes, from 8 bytes. This might have some
performance overhead.

Not using `Box<[u8]>` because that will make the struct 24 bytes.

Reviewed By: StanislavGlebik

Differential Revision: D30686451

fbshipit-source-id: c0f8d0472c7e578f34d771dacecffc91585650c3
2021-09-01 09:25:33 -07:00
Jun Wu
260c97cb09 dag: avoid remote lookup in one more case
Summary:
In `vertex_id_with_max_group(name, group)`, if `group` is master and the `name`
exists in the non-master group, then there is no need to lookup remotely because
a same name (vertex) cannot be present in both master and non-master group. In
that case, just return that the `name` does not exist in the master group.

Reviewed By: StanislavGlebik

Differential Revision: D30699215

fbshipit-source-id: 5170abe719aa7cc31533912e18bc0e21f133e1f4
2021-09-01 09:25:33 -07:00
Jun Wu
c713ce098b dag: add test of suboptimal flush reassignment with lazy graph
Summary:
Added a test about excessive remote lookups when flush() reassigns vertexes
from non-master to master.

Reviewed By: StanislavGlebik

Differential Revision: D30699214

fbshipit-source-id: 0547707764855ab9a563178740612b54df4a5fc9
2021-09-01 09:25:33 -07:00
Jun Wu
77b3a82755 dag: add more tracing logs
Summary: They are used to narrow down issues related to S242328.

Reviewed By: StanislavGlebik

Differential Revision: D30699216

fbshipit-source-id: 28f4f0bfadadb2dea5510878168c2d7b47a8641c
2021-09-01 09:25:33 -07:00
Arun Kulshreshtha
550ee2eafa http-client: add RequestInfo struct
Summary: Split out the request ID, URL, and HTTP method from `RequestContext` into a new `RequestInfo` struct, which can be cheaply cloned and included in the response returned to the caller. This enables the caller to correlate requests and responses, which is useful when working with many concurrent requests.

Reviewed By: DurhamG

Differential Revision: D30650365

fbshipit-source-id: 68efedcf852c91387450443ebe46062809633f10
2021-08-31 22:29:39 -07:00
Jun Wu
095232f7a8 pydag: export CheckIntegrity methods to Python
Summary:
Make it possible to call the CheckIntegrity APIs from Python such as:

  In [1]: cl.inner.checkuniversalids()
  Out[1]: []

  In [2]: cl.inner.checksegments()
  Out[2]: []

  In [3]: cl.inner.checkisomorphicgraph(cl.inner, cl.dageval(lambda: heads(mastergroup())))
  # take a while
  Out[3]: []

Reviewed By: andll

Differential Revision: D30682536

fbshipit-source-id: 23f280bf261def3d20d5f7dc15a48c2fc2d79d77
2021-08-31 21:26:47 -07:00
Jun Wu
41ef5198f5 hgcommits: delegate CheckIntegrity to inner structs
Summary: Expose CheckIntegrity features from segmented changelog.

Reviewed By: andll

Differential Revision: D30682538

fbshipit-source-id: 382c50719f7176f299c15d16ddaae3783cbae265
2021-08-31 21:26:47 -07:00
Jun Wu
4d4afdd72a dag: add delegate support for CheckIntegrity
Summary: This makes other crates easier to implement CheckIntegrity.

Reviewed By: andll

Differential Revision: D30682540

fbshipit-source-id: 4333f37fa7bafe55a8bee9f149b2f23a463c51af
2021-08-31 21:26:46 -07:00
Jun Wu
71a676472c revlogindex: impl dummy integrity checks for revlog
Summary:
Makes the revlog index provides dummy graph integrity checks so it can
be used as a generic object in the Python bindings.

Reviewed By: andll

Differential Revision: D30682542

fbshipit-source-id: 25c6e8640de46188d7bf45a927e11e0779a8ad40
2021-08-31 21:26:46 -07:00