sapling/eden/mononoke
Stanislau Hlebik 111a3199fc mononoke: limit concurrency when putting commits to scribe queue
Summary: Let's not spawn too many futures at once

Reviewed By: markbt

Differential Revision: D25612069

fbshipit-source-id: e48901b981b437f66573a1abfba08eb144af2377
2020-12-17 12:14:06 -08:00
..
benchmark convert BlobRepoHg to new type futures 2020-12-17 07:45:26 -08:00
blobimport_lib convert BlobRepoHg to new type futures 2020-12-17 07:45:26 -08:00
blobrepo convert blobrepo tests to new type futures 2020-12-17 07:45:26 -08:00
blobrepo_utils convert BlobRepoHg to new type futures 2020-12-17 07:45:26 -08:00
blobstore session: add convenience methods for read and write qps limits 2020-12-14 09:24:58 -08:00
blobstore_sync_queue mononoke/blobstore: pass CoreContext via borrowed instead of owned value 2020-11-27 03:31:07 -08:00
bonsai_git_mapping mononoke/blobstore: pass CoreContext via borrowed instead of owned value 2020-11-27 03:31:07 -08:00
bonsai_globalrev_mapping mononoke/caching_ext: unify our cache stats reporting 2020-12-10 12:01:45 -08:00
bonsai_hg_mapping mononoke/caching_ext: unify our cache stats reporting 2020-12-10 12:01:45 -08:00
bookmarks mononoke: limit concurrency when putting commits to scribe queue 2020-12-17 12:14:06 -08:00
bulkops convert BlobRepoHg to new type futures 2020-12-17 07:45:26 -08:00
cache_warmup convert BlobRepoHg to new type futures 2020-12-17 07:45:26 -08:00
changesets mononoke/caching_ext: unify our cache stats reporting 2020-12-10 12:01:45 -08:00
cmdlib convert BlobRepoHg to new type futures 2020-12-17 07:45:26 -08:00
cmds convert BlobRepoHg to new type futures 2020-12-17 07:45:26 -08:00
commit_rewriting convert BlobRepoHg to new type futures 2020-12-17 07:45:26 -08:00
common mononoke: reduce number of sqlite directory and db creations 2020-12-15 11:06:37 -08:00
derived_data convert BlobRepoHg to new type futures 2020-12-17 07:45:26 -08:00
edenapi_server edenapi: add full_idmap_clone endpoint 2020-12-08 18:30:24 -08:00
fastreplay autocargo: regen 2020-12-08 18:30:24 -08:00
filenodes rust-shed/futures_01_ext: rename futures_ext to futures_01_ext 2020-11-05 06:07:16 -08:00
filestore mononoke/blobstore: pass CoreContext via borrowed instead of owned value 2020-11-27 03:31:07 -08:00
git convert BlobRepoHg to new type futures 2020-12-17 07:45:26 -08:00
gotham_ext autocargo: regen 2020-12-08 18:30:24 -08:00
hgcli scuba: turn ScubaSampleBuilderExt into a wrapper struct 2020-11-30 21:26:24 -08:00
hgproto unit test for dechunker raw bundle2 saving 2020-11-19 06:41:06 -08:00
hook_tailer mononoke: remove the need to pass in cachelib settings twice 2020-12-02 07:27:23 -08:00
hooks hooks: show the size of the large commit being blocked 2020-12-09 16:44:41 -08:00
lfs_import_lib mononoke/blobstore: pass CoreContext via borrowed instead of owned value 2020-11-27 03:31:07 -08:00
lfs_protocol autocargo: regen 2020-12-08 18:30:24 -08:00
lfs_server autocargo: regen 2020-12-08 18:30:24 -08:00
load_limiter Regenerate all Cargo.tomls after upgrade to futures 0.3.5 2020-07-06 20:49:43 -07:00
manifest mononoke/manifest: add Entry::map_leaf and Entry::map_tree 2020-12-10 03:07:45 -08:00
mercurial autocargo: regen 2020-12-08 18:30:24 -08:00
metaconfig convert BlobRepoHg to new type futures 2020-12-17 07:45:26 -08:00
microwave mononoke: remove the need to pass in cachelib settings twice 2020-12-02 07:27:23 -08:00
mononoke_api convert BlobRepoHg to new type futures 2020-12-17 07:45:26 -08:00
mononoke_hg_sync_job convert BlobRepoHg to new type futures 2020-12-17 07:45:26 -08:00
mononoke_types bookmarks_movement: allow commits to land if there are pre-existing case conflicts 2020-12-15 01:53:39 -08:00
mutable_counters rust-shed/futures_01_ext: rename futures_ext to futures_01_ext 2020-11-05 06:07:16 -08:00
newfilenodes mononoke/caching_ext: remove 0.1 futures 2020-12-10 10:24:58 -08:00
observability observability: add dynamic level drain 2020-12-04 14:30:29 -08:00
permission_checker bypassing hooks for members of scm 2020-10-29 10:14:25 -07:00
phases convert BlobRepoHg to new type futures 2020-12-17 07:45:26 -08:00
pushrebase convert BlobRepoHg to new type futures 2020-12-17 07:45:26 -08:00
reachabilityindex convert BlobRepoHg to new type futures 2020-12-17 07:45:26 -08:00
regenerate_hg_filenodes convert BlobRepoHg to new type futures 2020-12-17 07:45:26 -08:00
repo_client convert BlobRepoHg to new type futures 2020-12-17 07:45:26 -08:00
repo_import convert BlobRepoHg to new type futures 2020-12-17 07:45:26 -08:00
revset convert BlobRepoHg to new type futures 2020-12-17 07:45:26 -08:00
scs_server mononoke: log public commits to scribe from scs move/create_bookmark method 2020-12-17 00:19:00 -08:00
segmented_changelog edenapi: add full_idmap_clone endpoint 2020-12-08 18:30:24 -08:00
server mononoke: log public commits to scribe from scs move/create_bookmark method 2020-12-17 00:19:00 -08:00
sshrelay autocargo: regen 2020-12-08 18:30:24 -08:00
tests convert BlobRepoHg to new type futures 2020-12-17 07:45:26 -08:00
time_window_counter mononoke/lfs_server: popularity: add ODS counters, timeouts and tests 2020-07-15 03:39:23 -07:00
tunables mononoke: log public commits to scribe from scs move/create_bookmark method 2020-12-17 00:19:00 -08:00
unbundle_replay convert BlobRepoHg to new type futures 2020-12-17 07:45:26 -08:00
walker convert BlobRepoHg to new type futures 2020-12-17 07:45:26 -08:00
Cargo.toml convert BlobRepoHg to new type futures 2020-12-17 07:45:26 -08:00
README.md mononoke: add README.md and the missing pieces for supporting cargo (#13) 2020-02-13 00:12:36 -08:00

Mononoke

Mononoke is a next-generation server for the Mercurial source control system, meant to scale up to accepting thousands of commits every hour across millions of files. It is primarily written in the Rust programming language.

Caveat Emptor

Mononoke is still in early stages of development. We are making it available now because we plan to start making references to it from our other open source projects.

The version that we provide on GitHub does not build yet.

This is because the code is exported verbatim from an internal repository at Facebook, and not all of the scaffolding from our internal repository can be easily extracted. The key areas where we need to shore things up are:

  • Full support for a standard cargo build.
  • Open source replacements for Facebook-internal services (blob store, logging etc).

The current goal is to get Mononoke working on Linux. Other Unix-like OSes may be supported in the future