sapling/eden/mononoke
Kostia Balytskyi 56eea5b6f6 commitcloud_backfiller: add reverse filler
Summary:
This diff finally introduce the continuous reverse filler. Specifically, this adds a cli (and underlying wiring) to operate the filler logic in the `reversefillerqueue` table.

To achieve this:
- the filler class is turned into a base class with two subclasses for the forward and reverse fillers
- the main file is renamed from `forwardfiller.py` into `filler.py`, to better reflect the independence of direction.

Reviewed By: krallin

Differential Revision: D21628259

fbshipit-source-id: 5676a162a62f0dc6fe80e6300b72d30370fc80b4
2020-05-26 07:00:12 -07:00
..
apiserver mononoke: Add tunables - a simple form of config hot reloading 2020-04-30 16:08:30 -07:00
backsyncer autocargo: regenerate 2020-05-19 16:08:40 -07:00
benchmark mononoke: add Changesets::get_sql_changesets 2020-05-13 16:53:16 -07:00
blobimport_lib autocargo: regenerate 2020-05-19 16:08:40 -07:00
blobrepo autocargo: regenerate 2020-05-19 16:08:40 -07:00
blobrepo_utils autocargo: regenerate 2020-05-19 16:08:40 -07:00
blobstore mononoke: Add cache hit and miss statistics to CacheBlob 2020-05-21 03:19:12 -07:00
blobstore_sync_queue autocargo: regenerate 2020-05-19 16:08:40 -07:00
bonsai_git_mapping autocargo: regenerate 2020-05-19 16:08:40 -07:00
bonsai_globalrev_mapping mononoke: add merge commit validation 2020-05-20 11:17:21 -07:00
bonsai_hg_mapping rust: remove abandoned heapsize crate 2020-05-07 23:45:44 -07:00
bookmarks autocargo: regenerate 2020-05-19 16:08:40 -07:00
bulkops mononoke: update bulkops::fetch_all_public_changesets to return commits in order 2020-05-21 20:43:45 -07:00
cache_warmup mononoke: remove unused deps for a couple of targets 2020-05-20 17:00:08 -07:00
changesets mononoke: update bulkops::fetch_all_public_changesets to return commits in order 2020-05-21 20:43:45 -07:00
cmdlib mononoke: Use MononokeApp for mononoke server 2020-05-20 05:47:17 -07:00
cmds mononoke: move fetch_all_public_changesets to the bulkops crate 2020-05-13 16:53:16 -07:00
commit_rewriting autocargo: regenerate 2020-05-19 16:08:40 -07:00
common autocargo: regenerate 2020-05-19 16:08:40 -07:00
config_structs mononoke: update tunables struct 2020-05-18 03:35:53 -07:00
derived_data scs_server: add track_history_across_deletions parameter 2020-05-26 05:38:55 -07:00
edenapi_server/src edenapi_server: add history endpoint 2020-05-12 16:26:22 -07:00
fastreplay autocargo: regenerate 2020-05-19 16:08:40 -07:00
filenodes third-party/rust: Turn off async-trait/support_old_nightly 2020-04-02 17:01:24 -07:00
filestore autocargo: regenerate 2020-05-19 16:08:40 -07:00
git autocargo: regenerate 2020-05-19 16:08:40 -07:00
gotham_ext/src edenapi_server: add repos endpoint 2020-05-08 12:07:02 -07:00
hgcli mononoke: hgcli: Add a connection timeout 2020-04-29 03:27:14 -07:00
hgproto autocargo: regenerate 2020-05-19 16:08:40 -07:00
hook_tailer autocargo: regenerate 2020-05-19 16:08:40 -07:00
hooks autocargo: regenerate 2020-05-19 16:08:40 -07:00
lfs_import_lib autocargo: regenerate 2020-05-19 16:08:40 -07:00
lfs_protocol lfs_protocol: move LFS MIME type into protocol crate 2020-04-23 13:58:04 -07:00
lfs_server/src common/rust/failure_ext: get rid of error chain 2020-05-05 05:44:52 -07:00
load_limiter mononoke: remove getfiles from ratelimiter and perf counter 2020-05-19 04:43:00 -07:00
manifest Expose ctime from Blobstore::get() in mononoke 2020-05-06 00:55:07 -07:00
megarepolib autocargo: regenerate 2020-05-19 16:08:40 -07:00
mercurial autocargo: regenerate 2020-05-19 16:08:40 -07:00
metaconfig autocargo: regenerate 2020-05-19 16:08:40 -07:00
microwave autocargo: regenerate 2020-05-19 16:08:40 -07:00
mononoke_api/src scs_server: add track_history_across_deletions parameter 2020-05-26 05:38:55 -07:00
mononoke_types autocargo: regenerate 2020-05-19 16:08:40 -07:00
mutable_counters admin: add a subcommand to manipulate mutable_counters 2020-04-16 03:19:44 -07:00
newfilenodes mononoke: update various error enums to use #[source] 2020-05-05 05:44:52 -07:00
permission_checker mononoke/rust-shed: apply new coding style convention that separates oss-only code 2020-05-07 04:52:16 -07:00
phases Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
pushrebase mononoke: add merge commit validation 2020-05-20 11:17:21 -07:00
reachabilityindex autocargo: regenerate 2020-05-19 16:08:40 -07:00
repo_client clone: increase timeout to 4 hours 2020-05-21 04:19:13 -07:00
revset common/rust/failure_ext: get rid of error chain 2020-05-05 05:44:52 -07:00
scs_server/src scs_server: add track_history_across_deletions parameter 2020-05-26 05:38:55 -07:00
segmented_changelog mononoke: add MemIdMap 2020-05-21 17:19:16 -07:00
server mononoke: remove unused deps for a couple of targets 2020-05-20 17:00:08 -07:00
sshrelay Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
tests commitcloud_backfiller: add reverse filler 2020-05-26 07:00:12 -07:00
time_window_counter mononoke/rust-shed: apply new coding style convention that separates oss-only code 2020-05-07 04:52:16 -07:00
tunables mononoke: support history across deletions 2020-05-21 02:46:21 -07:00
unbundle_replay autocargo: regenerate 2020-05-19 16:08:40 -07:00
walker/src mononoke: walker: switch to DashMap for walk state 2020-05-21 04:08:08 -07:00
Cargo.toml mononoke: Add logging blobstore 2020-05-15 10:28:31 -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