sapling/eden/mononoke
Stanislau Hlebik 1876314c01 mononoke: allow blocking too large known calls
Summary:
Previously we ran into an issue where client has sent us too large known
request, and we passed it all the way to the mysql.

Mysql slow log shows that we have quite a few slow queries
(https://fburl.com/scuba/mysql_slow_log/w0ugmc1i), so it might be that these
requests are still coming, but because of the problems in the logging (see
previous diff), we can't know it for sure.

In any case, adding a knob like that can be useful

Reviewed By: farnz

Differential Revision: D27650806

fbshipit-source-id: c4c82b7b5781a85c349abb4e5fa534b5e8f125a0
2021-04-08 10:12:26 -07:00
..
alpn autocargo v1: changes to match autocargo v2 generation results. 2021-02-19 11:03:55 -08:00
benchmarks benchmark: remove dependency on blobrepo_factory 2021-04-07 14:01:48 -07:00
blobimport_lib blobrepo: convert to facet container 2021-03-25 07:34:49 -07:00
blobrepo blobrepo_override: remove overrides for bookmarks and config 2021-04-07 14:01:49 -07:00
blobrepo_utils third-party/rust: update futures 2021-03-04 06:42:55 -08:00
blobstore mononoke: speed up packblob put by using Compressor 2021-04-07 10:52:03 -07:00
blobstore_sync_queue vfs: introduce AsyncVfs 2021-03-05 21:47:51 -08:00
bonsai_git_mapping test_repo_factory: use test factory for hooks and mapping tests 2021-03-25 07:34:49 -07:00
bonsai_globalrev_mapping test_repo_factory: use test factory for hooks and mapping tests 2021-03-25 07:34:49 -07:00
bonsai_hg_mapping bonsai_hg_mapping: construct rendezvous connections in a blocking closure 2021-04-01 08:27:15 -07:00
bonsai_svnrev_mapping blobrepo: convert to facet container 2021-03-25 07:34:49 -07:00
bookmarks mononoke: Remove external sync logic 2021-04-08 09:17:11 -07:00
bulkops bounded_traversal: require futures to be boxed 2021-03-12 08:12:57 -08:00
cache_warmup third-party/rust: update futures 2021-03-04 06:42:55 -08:00
changesets blobrepo: convert to facet container 2021-03-25 07:34:49 -07:00
cmdlib cmdlib: use RepoFactory to construct repositories 2021-04-07 14:01:47 -07:00
cmds benchmark_storage_config: remove dependency on blobrepo_factory 2021-04-07 14:01:47 -07:00
commit_rewriting commit_rewriting: remove dependency on blobrepo_factory 2021-04-07 14:01:47 -07:00
common mononoke: remove all trivial usage of async-unit 2021-04-07 07:26:57 -07:00
derived_data mononoke: remove all trivial usage of async-unit 2021-04-07 07:26:57 -07:00
edenapi_server mononoke_api: use RepoFactory to construct repositories 2021-04-07 14:01:47 -07:00
edenapi_service Use Bookmark request and response type in endpoint 2021-03-29 18:40:00 -07:00
fastreplay mononoke_api: use RepoFactory to construct repositories 2021-04-07 14:01:47 -07:00
filenodes blobrepo: convert to facet container 2021-03-25 07:34:49 -07:00
filestore mononoke: remove all trivial usage of async-unit 2021-04-07 07:26:57 -07:00
git Make fn convert_time_to_datetime public. 2021-04-07 07:55:02 -07:00
gotham_ext mononoke/lfs_server: add support for Range 2021-03-23 03:20:35 -07:00
hgcli third-party/rust: update futures 2021-03-04 06:42:55 -08:00
hgproto mononoke: verify bonsai changesets during replay 2021-03-29 12:39:19 -07:00
hook_tailer hook_tailer: use RepoFactory to construct repositories 2021-04-07 14:01:47 -07:00
hooks mononoke: Remove external sync logic 2021-04-08 09:17:11 -07:00
lfs_import_lib third-party/rust: update futures 2021-03-04 06:42:55 -08:00
lfs_protocol Format fbsource with rustfmt-2.0.0-rc.2 2021-02-27 18:46:09 -08:00
lfs_server lfs_server: use RepoFactory to construct repositories 2021-04-07 14:01:48 -07:00
load_limiter vfs: introduce AsyncVfs 2021-03-05 21:47:51 -08:00
manifest bounded_traversal: require futures to be boxed 2021-03-12 08:12:57 -08:00
mercurial blobrepo: convert to facet container 2021-03-25 07:34:49 -07:00
metaconfig mononoke: Remove external sync logic 2021-04-08 09:17:11 -07:00
microwave microwave: use RepoFactory to construct repositories 2021-04-07 14:01:48 -07:00
mononoke_api mononoke_api: use RepoFactory to construct repositories 2021-04-07 14:01:47 -07:00
mononoke_api_hg test_repo_factory: use test factory for mononoke_api tests 2021-03-25 07:34:49 -07:00
mononoke_hg_sync_job mononoke: remove debug output from hg sync 2021-04-08 05:15:06 -07:00
mononoke_types mononoke: use Bytes for ContentChunk thrift 2021-03-26 04:10:19 -07:00
mutable_counters third-party/rust: update futures 2021-03-04 06:42:55 -08:00
newfilenodes mononoke/newfilenodes: sort filenode rows prior to insertion 2021-03-24 13:55:01 -07:00
observability autocargo v1: reformating of oss-dependencies, workspace and patch sections and thrift files to match v2 2021-02-25 15:10:56 -08:00
permission_checker mononoke: Remove external sync logic 2021-04-08 09:17:11 -07:00
phases blobrepo: convert to facet container 2021-03-25 07:34:49 -07:00
pushrebase pushrebase: remove dangerous_override 2021-03-25 10:46:07 -07:00
reachabilityindex mononoke: remove all trivial usage of async-unit 2021-04-07 07:26:57 -07:00
regenerate_hg_filenodes third-party/rust: update futures 2021-03-04 06:42:55 -08:00
repo_attributes repo_derived_data: add new repo attribute to encapsulate derived data 2021-03-22 07:26:48 -07:00
repo_client mononoke: allow blocking too large known calls 2021-04-08 10:12:26 -07:00
repo_factory repo_factory: add blobstore_override 2021-04-07 14:01:48 -07:00
repo_import repo_import: remove dangerous_override 2021-04-07 14:01:49 -07:00
revset mononoke: remove remaining usage of async-unit 2021-04-07 07:26:57 -07:00
scs_server mononoke_api: use RepoFactory to construct repositories 2021-04-07 14:01:47 -07:00
segmented_changelog segmented_changelog: update SqlIdMap to avoid query on empty request 2021-04-07 16:27:43 -07:00
server mononoke: Remove external sync logic 2021-04-08 09:17:11 -07:00
sshrelay third-party/rust: update futures 2021-03-04 06:42:55 -08:00
streaming_clone mononoke: init cachelib only once and add more logging 2021-03-16 06:20:00 -07:00
tests Add support for wantsunhydratedcommits in Mononke 2021-04-08 03:48:07 -07:00
time_window_counter vfs: introduce AsyncVfs 2021-03-05 21:47:51 -08:00
tunables mononoke: allow blocking too large known calls 2021-04-08 10:12:26 -07:00
unbundle_replay unbundle_replay: use RepoFactory to construct repositories 2021-04-07 14:01:48 -07:00
walker walker: use RepoFactory to construct repositories 2021-04-07 14:01:49 -07:00
Cargo.toml blobrepo_factory: remove blobrepo_factory 2021-04-07 14:01:49 -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