sapling/bonsai-hg-mapping
Simon Farnsworth 7fd5851f1e Use blocking in asynchronize as well as spawning a task
Summary:
`asynchronize` currently does not warn the event loop that it's
running blocking code, so we can end up starving the thread pool of threads.

We can't use `blocking` directly, because it won't spawn a synchronous task
onto a fresh Tokio task, so your "parallel" futures end up running in series.
Instead, use it inside `asynchronize` so that we can pick up extra threads in
the thread pool as and when we need them due to heavy load.

While in here, fix up `asynchronize` to only work on synchronous tasks and
push the boxing out one layer. Filenodes needs a specific change that's
worth extra eyes.

Reviewed By: jsgf

Differential Revision: D9631141

fbshipit-source-id: 06f79c4cb697288d3fadc96448a9173e38df425f
2018-09-05 12:23:49 -07:00
..
schemas id for unique (repo_id, hg_cs_id) in mysql schema 2018-07-12 07:21:17 -07:00
src Use blocking in asynchronize as well as spawning a task 2018-09-05 12:23:49 -07:00
test sql mapping between {Bonsai|Hg} changesets 2018-07-11 09:07:13 -07:00