sapling/eden/mononoke
Mark Juggurnauth-Thomas 6b0203d10f derived_data: use batch_derive for backfilling data
Summary:
Batch derivation was disabled as it caused problems for other derived data types.

This was because the default batch implementation was wrong: it attempted to derive
potentially linear stacks concurrently, which would cause O(n^2) derivations.

Fix the default implementation to be a naive sequential iteration, and re-enable
batch derivation for fsnodes and skeleton manifests.

Reviewed By: StanislavGlebik

Differential Revision: D25218195

fbshipit-source-id: 730555829f092cc36e1c81cf02c2b4962a3904da
2020-12-02 07:33:41 -08:00
..
benchmark mononoke: move expected_item_size_byte into CachelibSettings 2020-12-02 00:47:22 -08:00
blobimport_lib scuba: turn ScubaSampleBuilderExt into a wrapper struct 2020-11-30 21:26:24 -08:00
blobrepo mononoke: move expected_item_size_byte into CachelibSettings 2020-12-02 00:47:22 -08:00
blobrepo_utils convert to new type futures 2020-12-01 03:03:45 -08:00
blobstore scuba: turn ScubaSampleBuilderExt into a wrapper struct 2020-11-30 21:26:24 -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 scuba: turn ScubaSampleBuilderExt into a wrapper struct 2020-11-30 21:26:24 -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: allow binaries to default readonly-storage option 2020-12-02 07:27:23 -08:00
cmds mononoke: remove the need to pass in cachelib settings twice 2020-12-02 07:27:23 -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: use batch_derive for backfilling data 2020-12-02 07:33:41 -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: remove the need to pass in cachelib settings twice 2020-12-02 07:27:23 -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 scuba: turn ScubaSampleBuilderExt into a wrapper struct 2020-11-30 21:26:24 -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 scuba: turn ScubaSampleBuilderExt into a wrapper struct 2020-11-30 21:26:24 -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 BlobRepo::get_bonsai.*bookmarks to new futures 2020-11-27 06:49:06 -08:00
pushrebase convert save_bonsai_changesets to new type futures 2020-11-30 12:00:22 -08:00
reachabilityindex convert BlobRepo::get_bonsai_bookmark to new type futures 2020-11-27 11:11:18 -08:00
regenerate_hg_filenodes mononoke: show cachelib cache_size in --help usage 2020-12-02 07:27:23 -08:00
repo_client scuba: turn ScubaSampleBuilderExt into a wrapper struct 2020-11-30 21:26:24 -08:00
repo_import mononoke: remove the need to pass in cachelib settings twice 2020-12-02 07:27:23 -08:00
revset convert bookmark methods to new type futures 2020-11-27 11:11:19 -08:00
scs_server mononoke: show cachelib cache_size in --help usage 2020-12-02 07:27:23 -08:00
segmented_changelog segmented_changelog: measure runs/failures/duration for updates 2020-12-01 17:29:23 -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 tests: wait for source control service to fully start 2020-12-02 07:33:41 -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