sapling/eden/mononoke
Stanislau Hlebik 584728bd56 mononoke: warmup content metadata for fsnodes
Summary: It makes it backfill a great deal faster

Reviewed By: krallin

Differential Revision: D21040292

fbshipit-source-id: f6d06cbc76e710b4812f15e85eba73b24cdbbd3e
2020-04-15 08:21:28 -07:00
..
apiserver memcache: don't panic if Memcache fails to initialize 2020-04-02 10:07:23 -07:00
benchmark Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
blobimport_lib/src Swap out a while loop instead of .and_then + .fold 2020-04-08 08:19:32 -07:00
blobrepo Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
blobrepo_utils Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
blobstore mononoke/blobrepo: make RepoBlobstore an actual struct 2020-04-14 03:19:25 -07:00
blobstore_sync_queue Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
bonsai_git_mapping Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
bonsai_globalrev_mapping Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
bonsai_hg_mapping third-party/rust: Turn off async-trait/support_old_nightly 2020-04-02 17:01:24 -07:00
bookmarks Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
cache_warmup/src mononoke/cache_warmup: conditionally use microwave for faster warmup 2020-03-05 11:57:43 -08:00
changesets mononoke: add a test backfill derived data 2020-04-07 08:44:25 -07:00
cmdlib Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
cmds mononoke: warmup content metadata for fsnodes 2020-04-15 08:21:28 -07:00
commit_rewriting Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
common Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
config_structs/repos mononoke: sync repos.thrift from Configerator 2020-04-14 10:26:10 -07:00
derived_data mononoke: warmup content metadata for fsnodes 2020-04-15 08:21:28 -07:00
edenapi_server/src edenapi_server: use client identity middleware 2020-03-31 14:07:14 -07:00
fastreplay/src Delete HgChangeset hook handling completely 2020-04-11 04:26:37 -07:00
filenodes third-party/rust: Turn off async-trait/support_old_nightly 2020-04-02 17:01:24 -07:00
filestore Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
git third-party/rust: Turn off async-trait/support_old_nightly 2020-04-02 17:01:24 -07:00
gotham_ext/src mononoke/{edenapi,lfs}_server: update to new Hyper, new Bytes, new Gotham 2020-03-11 10:22:28 -07:00
hgcli rust-shed: add hostname crate to the shed 2020-03-20 08:56:12 -07:00
hgproto mononoke/repo_client: use wireproto encoding for directories 2020-04-07 04:36:06 -07:00
hook_tailer mononoke/hook_tailer: log completion time 2020-04-15 06:29:49 -07:00
hooks mononoke/hooks: compute the changeset id once, be O(N) as opposed to O(N^2) 2020-04-15 06:29:50 -07:00
lfs_import_lib/src mononoke: update internals to Bytes 0.5 2020-02-27 08:08:28 -08:00
lfs_protocol mononoke/{edenapi,lfs}_server: update to new Hyper, new Bytes, new Gotham 2020-03-11 10:22:28 -07:00
lfs_server/src mononoke/blobrepo: make RepoBlobstore an actual struct 2020-04-14 03:19:25 -07:00
manifest Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
megarepolib Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
mercurial eden/scm: split revisionstore into types and rest of logic 2020-04-14 07:50:19 -07:00
metaconfig mononoke/hg_sync_job: use the hgsql repo name for globalrevs 2020-04-14 10:26:10 -07:00
microwave mononoke: add repo name in BlobRepo 2020-03-10 08:32:33 -07:00
mononoke_api/src mononoke/scs-log: integrate deleted manifest (linear) 2020-04-14 18:27:39 -07:00
mononoke_types mononoke_types: add Sha256 stubs 2020-04-08 11:58:08 -07:00
mutable_counters Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
newfilenodes rust: regenerate autocargo for tokio rollback 2020-04-10 01:12:57 -07:00
phases Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
pushrebase Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
reachabilityindex third-party/rust: Turn off async-trait/support_old_nightly 2020-04-02 17:01:24 -07:00
repo_client mononoke/repo_read_write_status: use HgsqlName 2020-04-14 10:26:11 -07:00
revset Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
scs_server/src mononoke/scs-log: add history stream terminator 2020-04-07 07:08:24 -07:00
segmented_changelog/src segmented_changelog: add Dag struct and location_to_name functionality 2020-03-27 13:48:52 -07:00
server Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
sshrelay Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
tests admin: make sure bookmark operations create syncable log entries 2020-04-15 04:17:42 -07:00
unbundle_replay Delete HgChangeset hook handling completely 2020-04-11 04:26:37 -07:00
walker/src mononoke: walker: log errors to scuba regardless of the error_as_data setting 2020-04-06 03:17:40 -07:00
Cargo.toml eden/scm: split revisionstore into types and rest of logic 2020-04-14 07:50:19 -07: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