sapling/eden/mononoke
Egor Tkachenko 8c5d77f0f8 Adding connection pool for darkstorm
Summary: Darkisilon cell consists of multiple hosts which shares underlying storage, so write to one of them is visible for all hosts. Lets spread requests between all these hosts. I'll get list of hosts from the smc tier and will randomly connect to one on each request.

Reviewed By: krallin

Differential Revision: D25163782

fbshipit-source-id: b28085dd37b15972469b7334a47def473e10f34e
2020-12-03 17:10:42 -08:00
..
benchmark mononoke: move expected_item_size_byte into CachelibSettings 2020-12-02 00:47:22 -08:00
blobimport_lib mononoke: UploadHgFileEntry: allow calling it without a path 2020-12-03 06:19:31 -08:00
blobrepo convret to new type futures 2020-12-03 07:15:04 -08:00
blobrepo_utils convert to new type futures 2020-12-01 03:03:45 -08:00
blobstore Adding connection pool for darkstorm 2020-12-03 17:10:42 -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/blobstore: pass CoreContext via borrowed instead of owned value 2020-11-27 03:31:07 -08:00
bonsai_hg_mapping rust-shed/futures_01_ext: rename futures_ext to futures_01_ext 2020-11-05 06:07:16 -08:00
bookmarks skeleton_manifests: check case on upload if not enabled 2020-12-02 09:08:34 -08:00
bulkops convert BlobRepo::get_bonsai_bookmark to new type futures 2020-11-27 11:11:18 -08:00
cache_warmup scuba: turn ScubaSampleBuilderExt into a wrapper struct 2020-11-30 21:26:24 -08:00
changesets rust-shed/futures_01_ext: rename futures_ext to futures_01_ext 2020-11-05 06:07:16 -08:00
cmdlib mononoke: cmdlib: Fix default cachelib size crash 2020-12-03 05:48:31 -08:00
cmds segmented_changelog_tailer: initialize caching 2020-12-02 19:18:32 -08:00
commit_rewriting mononoke: remove the need to pass in cachelib settings twice 2020-12-02 07:27:23 -08:00
common scuba: turn ScubaSampleBuilderExt into a wrapper struct 2020-11-30 21:26:24 -08:00
derived_data derived_data: remove unused import 2020-12-03 14:17:52 -08:00
edenapi_server mononoke: remove the need to pass in cachelib settings twice 2020-12-02 07:27:23 -08:00
fastreplay mononoke: remove the need to pass in cachelib settings twice 2020-12-02 07:27:23 -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 mononoke: move expected_item_size_byte into CachelibSettings 2020-12-02 00:47:22 -08:00
gotham_ext scuba: turn ScubaSampleBuilderExt into a wrapper struct 2020-11-30 21:26: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 scuba: turn ScubaSampleBuilderExt into a wrapper struct 2020-11-30 21:26:24 -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 mononoke: try to compress values if they above cachelib limit 2020-06-20 01:05:54 -07:00
lfs_server mononoke/lfs_server: account for size in object popularity 2020-12-03 06:17:06 -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/blobstore: pass CoreContext via borrowed instead of owned value 2020-11-27 03:31:07 -08:00
mercurial mononoke: UploadHgFileEntry: allow calling it without a path 2020-12-03 06:19:31 -08:00
metaconfig hooks: allow two types of bypasses for the same hook 2020-11-17 06:02:30 -08:00
microwave mononoke: remove the need to pass in cachelib settings twice 2020-12-02 07:27:23 -08:00
mononoke_api convret to new type futures 2020-12-03 07:15:04 -08:00
mononoke_hg_sync_job mononoke: remove the need to pass in cachelib settings twice 2020-12-02 07:27:23 -08:00
mononoke_types mononoke: noticed blobstore_key_prefix() could be &'static str 2020-11-30 03:23:55 -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 rust-shed/futures_01_ext: rename futures_ext to futures_01_ext 2020-11-05 06:07:16 -08:00
permission_checker bypassing hooks for members of scm 2020-10-29 10:14:25 -07:00
phases convert to new type futures 2020-12-02 15:40:12 -08:00
pushrebase convert save_bonsai_changesets to new type futures 2020-11-30 12:00:22 -08:00
reachabilityindex convert to new type futures 2020-12-02 15:40:12 -08:00
regenerate_hg_filenodes mononoke: show cachelib cache_size in --help usage 2020-12-02 07:27:23 -08:00
repo_client convret to new type futures 2020-12-03 07:15:04 -08:00
repo_import mononoke: remove the need to pass in cachelib settings twice 2020-12-02 07:27:23 -08:00
revset convert to new type futures 2020-12-02 15:40:12 -08:00
scs_server mononoke: show cachelib cache_size in --help usage 2020-12-02 07:27:23 -08:00
segmented_changelog convert to new type futures 2020-12-02 15:40:12 -08:00
server mononoke: remove the need to pass in cachelib settings twice 2020-12-02 07:27:23 -08:00
sshrelay add support for HTTP preamble 2020-11-16 09:12:05 -08:00
tests use authentication abstraction for mononoke 2020-12-03 13:57:48 -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/repo_client: do not re-upload commits we already have for infinitepush 2020-11-20 06:30:12 -08:00
unbundle_replay mononoke: remove the need to pass in cachelib settings twice 2020-12-02 07:27:23 -08:00
walker mononoke: remove --readonly-storage from walker test cmdlines 2020-12-02 07:27:24 -08:00
Cargo.toml backfill_derived_data: improve logging 2020-11-30 06:23:46 -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