7ff2ceffb5
Summary: This test has been flaky practically since its creation, although below the threshold to be detected as such some of the times. Looking at its journal, it failed its first stress run and more than half of the stress runs thereafter (failed 1920 of them, passed 1519 of them). The assumption that the test makes that we will always take the local path first is not stable and has never been. Match the test's expectations to the actual behaviour of mononoke for now. If the behaviour is problematic, let's tackle it in its own time. Note that this test was written here D34276252 in reaction to a change to segmented changelog here D34041066 and the discussion on that diff is relevant to establish the correctness of the code. Reviewed By: RajivTS Differential Revision: D44297278 fbshipit-source-id: 07f42fc11ca0aa637b59b5fc46263b65d624e0a4 |
||
---|---|---|
.. | ||
acl_regions | ||
admin | ||
aliasverify | ||
alpn | ||
backfill_derived_data | ||
benchmark_filestore | ||
benchmarks | ||
blobimport | ||
blobimport_lib | ||
blobrepo | ||
blobrepo_utils | ||
blobstore | ||
blobstore_healer | ||
blobstore_sync_queue | ||
bonsai_git_mapping | ||
bonsai_globalrev_mapping | ||
bonsai_hg_mapping | ||
bonsai_svnrev_mapping | ||
bookmarks | ||
bulkops | ||
cache_warmup | ||
cats | ||
changesets | ||
cmdlib | ||
cmds | ||
commit_rewriting | ||
commit_traversal/slice_repository | ||
common | ||
derived_data | ||
edenapi_service | ||
features | ||
filenodes | ||
filestore | ||
git | ||
gotham_ext | ||
hgproto | ||
hook_tailer | ||
hooks | ||
land_service | ||
lfs_import_lib | ||
lfs_protocol | ||
lfs_server | ||
manifest | ||
megarepo_api | ||
mercurial | ||
metaconfig | ||
microwave | ||
mononoke_api | ||
mononoke_api_hg | ||
mononoke_configs | ||
mononoke_hg_sync_job | ||
mononoke_repos | ||
mononoke_types | ||
mutable_counters | ||
mutable_renames | ||
newfilenodes | ||
observability | ||
permission_checker | ||
phases | ||
pushrebase | ||
pushrebase_mutation_mapping | ||
quiet_stream | ||
rate_limiting | ||
reachabilityindex | ||
regenerate_hg_filenodes | ||
repo_attributes | ||
repo_authorization | ||
repo_client | ||
repo_factory | ||
repo_import | ||
revset | ||
scs | ||
scs_server | ||
segmented_changelog | ||
server | ||
sharding_lib_ext | ||
sshrelay | ||
statistics_collector | ||
streaming_clone | ||
tests | ||
time_window_counter | ||
tools | ||
tunables | ||
upload_globalrevs | ||
walker | ||
wireproto_handler | ||
Cargo.toml | ||
README.md |
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 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 is omitting some functions.
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:
- Support for running thrift based apis.
- Production metadata SQL support (e.g. something like a MySQL backend). We provide sqlite in OSS for now.
- Production blobstore storage backends (e.g. something like S3). We provide SQL (on sqlite) and File System backends currently in OSS.
Linux is Mononoke's primary target plaform with OSS CI also running on MacOS. Other Unix-like OSes may be supported in the future.
Subsystem Docs
Most of our documentation is in internal systems, however a few subsystems have in-repo markdown docs available:
- Integration Tests
- Packblob Storage how Mononoke compressed store works
- Graph Walker used to check/scrub storage