sapling/eden/mononoke
Pierre Chevalier 7ff2ceffb5 Unflake segmented changelog test
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
2023-03-27 05:11:34 -07:00
..
acl_regions Clippy fixes 1/N 2023-02-15 05:37:19 -08:00
admin admin: Verify bookmarks should use commit sync outcome 2023-02-16 04:57:11 -08:00
aliasverify Backing out ContentMetadataV2 stuff 2023-03-17 06:24:03 -07:00
alpn update to rust 1.64.0 2022-09-27 15:18:58 -07:00
backfill_derived_data Update tokio-1.21.2 to tokio-1.25.0 2023-01-30 14:49:36 -08:00
benchmark_filestore Update tokio-1.21.2 to tokio-1.25.0 2023-01-30 14:49:36 -08:00
benchmarks caching_ext: add cache handler factory 2023-03-01 02:10:41 -08:00
blobimport blobrepo: Remove get_repoid 2023-01-23 05:55:08 -08:00
blobimport_lib Distinguish between BookmarkKey and BookmarkName 2023-02-22 08:53:04 -08:00
blobrepo Remove useless into_iter() calls 2023-03-24 13:41:24 -07:00
blobrepo_utils Update tokio-1.21.2 to tokio-1.25.0 2023-01-30 14:49:36 -08:00
blobstore Remove useless into_iter() calls 2023-03-24 13:41:24 -07:00
blobstore_healer Upgrade Clap 3 to 3.2.23 2023-02-10 09:18:20 -08:00
blobstore_sync_queue tunables: optionify tunables and remove get_ prefix 2023-02-09 08:43:11 -08:00
bonsai_git_mapping Rename prepushrebase to in_critical_section and do it in the critical section 2023-02-14 10:08:48 -08:00
bonsai_globalrev_mapping enable futures-03 feature 2023-03-09 16:54:47 -08:00
bonsai_hg_mapping enable futures-03 feature 2023-03-09 16:54:47 -08:00
bonsai_svnrev_mapping enable futures-03 feature 2023-03-09 16:54:47 -08:00
bookmarks warm_bookmarks_cache: add warmer for bssm 2023-03-23 10:09:00 -07:00
bulkops Rename BookmarkName to BookmarkKey 2023-02-22 08:53:04 -08:00
cache_warmup Rename BookmarkName to BookmarkKey 2023-02-22 08:53:04 -08:00
cats bump version to 0.1.2 2022-10-20 12:08:11 -07:00
changesets Remove useless into_iter() calls 2023-03-24 13:41:24 -07:00
cmdlib hg_sync: Use unredacted blobstore 2023-03-20 09:29:30 -07:00
cmds Remove useless into_iter() calls 2023-03-24 13:41:24 -07:00
commit_rewriting Clippy 3/N 2023-03-10 06:09:26 -08:00
commit_traversal/slice_repository update to rust 1.66.1 2023-02-05 21:16:51 -08:00
common stats: log streams stats when streams are cancelled 2023-03-24 11:05:45 -07:00
derived_data Add logging when service requests remote derivation 2023-03-27 01:36:08 -07:00
edenapi_service edenapi: monitor long-running requests 2023-03-24 11:05:45 -07:00
features mononoke/scribe_logging: override WhenceScribeLogged to always log to prod instead of default 2023-03-24 08:39:35 -07:00
filenodes enable futures-03 feature 2023-03-09 16:54:47 -08:00
filestore Backing out ContentMetadataV2 stuff 2023-03-17 06:24:03 -07:00
git Backing out ContentMetadataV2 stuff 2023-03-17 06:24:03 -07:00
gotham_ext stats: log streams stats when streams are cancelled 2023-03-24 11:05:45 -07:00
hgproto Fix clippy lints (1/N) 2023-03-10 09:41:25 -08:00
hook_tailer Rename BookmarkName to BookmarkKey 2023-02-22 08:53:04 -08:00
hooks Remove useless into_iter() calls 2023-03-24 13:41:24 -07:00
land_service Rename BookmarkName to BookmarkKey 2023-02-22 08:53:04 -08:00
lfs_import_lib Backing out ContentMetadataV2 stuff 2023-03-17 06:24:03 -07:00
lfs_protocol update to rust 1.64.0 2022-09-27 15:18:58 -07:00
lfs_server Backing out ContentMetadataV2 stuff 2023-03-17 06:24:03 -07:00
manifest Derive Default on Enums 2023-03-24 13:41:24 -07:00
megarepo_api Remove useless into_iter() calls 2023-03-24 13:41:24 -07:00
mercurial Fix clippy lints (1/N) 2023-03-10 09:41:25 -08:00
metaconfig Derive Default on Enums 2023-03-24 13:41:24 -07:00
microwave Clippy 3/N 2023-03-10 06:09:26 -08:00
mononoke_api Derive Default on Enums 2023-03-24 13:41:24 -07:00
mononoke_api_hg Backing out ContentMetadataV2 stuff 2023-03-17 06:24:03 -07:00
mononoke_configs Publish liveness metric for ConfigUpdater process 2023-03-22 07:03:04 -07:00
mononoke_hg_sync_job third-party/rust: update tempfile to 3.4 2023-03-21 15:25:59 -07:00
mononoke_repos Worker per repo 2023-01-23 07:52:47 -08:00
mononoke_types Backing out ContentMetadataV2 stuff 2023-03-17 06:24:03 -07:00
mutable_counters Log mutable counters to ODS 2022-12-09 09:24:56 -08:00
mutable_renames enable futures-03 feature 2023-03-09 16:54:47 -08:00
newfilenodes Remove useless into_iter() calls 2023-03-24 13:41:24 -07:00
observability update regex to 1.6.0 2022-10-31 21:28:04 -07:00
permission_checker Update tokio-1.21.2 to tokio-1.25.0 2023-01-30 14:49:36 -08:00
phases phases: use a noop-cache if caching is not enabled 2023-03-09 05:26:37 -08:00
pushrebase Clippy 3/N 2023-03-10 06:09:26 -08:00
pushrebase_mutation_mapping Rename prepushrebase to in_critical_section and do it in the critical section 2023-02-14 10:08:48 -08:00
quiet_stream Update tokio-1.21.2 to tokio-1.25.0 2023-01-30 14:49:36 -08:00
rate_limiting bump version to 0.1.2 2022-10-20 12:08:11 -07:00
reachabilityindex enable futures-03 feature 2023-03-09 16:54:47 -08:00
regenerate_hg_filenodes blobrepo: remove BlobRepo::blobstore 2023-01-26 10:13:22 -08:00
repo_attributes enable futures-03 feature 2023-03-09 16:54:47 -08:00
repo_authorization Add internal-only authorization check in upload_git_object endpoint 2023-02-23 09:30:04 -08:00
repo_client stats: log streams stats when streams are cancelled 2023-03-24 11:05:45 -07:00
repo_factory caching: add cache mode parameter to command line with local-only option 2023-03-01 02:10:41 -08:00
repo_import Solution 4: Add globalrevs to all fbsource master commits 2023-03-09 07:47:14 -08:00
revset Fix clippy lints (1/N) 2023-03-10 09:41:25 -08:00
scs scs: add methods for uploading file content and creating stacks 2023-03-15 09:33:51 -07:00
scs_server Remove useless into_iter() calls 2023-03-24 13:41:24 -07:00
segmented_changelog increase insert rate 2023-03-15 08:51:52 -07:00
server virtually_sharded_blobstore: deduplicate reads of large blobs 2023-03-23 02:22:35 -07:00
sharding_lib_ext move encode/decode repo_name used in cmdlib/sharding to lightweight sharding_lib 2023-02-24 05:54:46 -08:00
sshrelay third-party/rust: add experimental feature to zstd 2023-02-23 09:28:19 -08:00
statistics_collector Update tokio-1.21.2 to tokio-1.25.0 2023-01-30 14:49:36 -08:00
streaming_clone Upgrade Clap 3 to 3.2.23 2023-02-10 09:18:20 -08:00
tests Unflake segmented changelog test 2023-03-27 05:11:34 -07:00
time_window_counter bump version to 0.1.2 2022-10-20 12:08:11 -07:00
tools Remove useless into_iter() calls 2023-03-24 13:41:24 -07:00
tunables edenapi: monitor long-running requests 2023-03-24 11:05:45 -07:00
upload_globalrevs blobrepo: remove BlobRepo::blobstore 2023-01-26 10:13:22 -08:00
walker Backing out ContentMetadataV2 stuff 2023-03-17 06:24:03 -07:00
wireproto_handler blobrepo: remove BlobRepo::get_blobstore 2023-01-26 10:13:22 -08:00
Cargo.toml third-party/rust: update tracing-subscriber for Option<Filter> 2023-03-23 12:41:48 -07:00
README.md mononoke: README.md update 2022-02-21 02:23:21 -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 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: