sapling/tests/integration
Thomas Orozco 72fbf818e7 mononoke: hg sync job: Prefetch Bundle Data
Summary:
This introduces prefetching in the hg sync job, which allows us to separate two logically separate steps, and buffer between them:

- Fetching bundle data from Manifold so it can be replayed in Mercurial (we call this "preparing"). This can happen out of order.
- Submitting the changes to Mercurial. This must happen sequentially.

The upshot is that we can fetch new data from Manifold while we wait for Mercurial to apply it, which should increase our throughput.

 ---

This required a bit of refactoring for the main loop here. The reason for that is that, currently, we heavily rely on closures to capture the `log_entry` so we can pass it to Scuba, etc.

That doesn't work if we want to have buffering, because there isn't a single scope that represents

Instead, every step of the stream has its own scope, so we need to pass the `log_entry` through the stream itself. We also need to track the log entry in errors as well (e.g. to report them to Scuba).

Reviewed By: ikostia

Differential Revision: D15146682

fbshipit-source-id: f83284571f6ca90cb621c621c5165f7fbafd81b5
2019-05-21 12:25:28 -07:00
..
third_party tests: provision fb identity in to testing certificates 2019-05-21 12:25:19 -07:00
integration_runner.py Introduce a test tool to write stub log entries 2019-05-21 12:25:23 -07:00
library.sh mononoke: hg sync job: Prefetch Bundle Data 2019-05-21 12:25:28 -07:00
pushrebase_replay.bundle mononoke: add tests for pushrebase replay 2019-02-05 15:08:29 -08:00
test-admin-hg-sync-bundle-last-processed.t Support hg-sync-bundle last-processed --skip-blobimport 2019-05-21 12:25:24 -07:00
test-admin-hg-sync-bundle-remains.t Support hg-sync-bundle remains --without-blobimport 2019-05-21 12:25:25 -07:00
test-admin-hg-sync-bundle-verify.t Support hg-sync-bundle verify 2019-05-21 12:25:24 -07:00
test-alias-verify.t mononoke: change the way file content blobs are hashed 2019-01-17 02:33:35 -08:00
test-allowed-users.t restrict bookmarks moves onty to allowed set of users 2019-05-21 12:25:11 -07:00
test-apiserver-edenapi.t remotefilelog: add debuggethistory command 2019-02-28 15:29:44 -08:00
test-apiserver.t tests: provision fb identity in to testing certificates 2019-05-21 12:25:19 -07:00
test-blobimport-inline.t move to the same hg tests runner that is used by hg 2019-01-30 07:29:53 -08:00
test-blobimport-return-error.t mononoke: cleanup tests 2018-12-11 09:48:02 -08:00
test-blobimport.t mononoke: cleanup tests 2018-12-11 09:48:02 -08:00
test-bonsai-verify.t mononoke: fix tests 2019-01-14 04:41:24 -08:00
test-bookmark-race.t codemod: import from the edenscm package 2019-01-29 17:25:00 -08:00
test-bundle2-preservation.t mononoke: fix test-bundle2-preservation.t 2019-02-27 04:36:52 -08:00
test-cache-warmup.t mononoke: cleanup tests 2018-12-11 09:48:02 -08:00
test-clienttelemetry.t clienttelemetry: introduce support 2019-02-28 10:34:47 -08:00
test-commitcloud.t add logic for safe switching cloud sync between Mercurial and Mononoke and back 2019-03-21 09:02:07 -07:00
test-copyrename.t mononoke: fix typo in the test name 2019-01-17 02:43:19 -08:00
test-getpackv1.t mononoke: append metadata in getpackv1 2019-05-21 12:24:53 -07:00
test-gettreepack.t slog_ext: add SimpleFormatWithError to improve client side logging readability 2019-02-20 08:52:09 -08:00
test-hash-validation.t mononoke: append metadata in getpackv1 2019-05-21 12:24:53 -07:00
test-hooks.t mononoke: revert D14143772 2019-02-21 05:47:31 -08:00
test-inconsistent-hash.t slog_ext: add SimpleFormatWithError to improve client side logging readability 2019-02-20 08:52:09 -08:00
test-infinitepush.t mononoke: fix of the discovery problem 2019-03-25 02:20:53 -07:00
test-init.t mononoke: cleanup tests 2018-12-11 09:48:02 -08:00
test-large-path-and-content.t mononoke: stop using fastmanifest on servers in tests 2019-05-21 12:25:26 -07:00
test-lfs-to-mononoke.t slog_ext: add SimpleFormatWithError to improve client side logging readability 2019-02-20 08:52:09 -08:00
test-lfs-upload-alias-on-fetch.t codemod: import from the edenscm package 2019-01-29 17:25:00 -08:00
test-lfs.t codemod: import from the edenscm package 2019-01-29 17:25:00 -08:00
test-linknodes.t pushbackup - now the overhead of checking is minimal, so let's always 2019-03-19 07:28:03 -07:00
test-listkeyspatterns.t implementation of listkeyspatterns wire protocol command 2019-05-21 12:25:01 -07:00
test-lookup.t codemod: import from the edenscm package 2019-01-29 17:25:00 -08:00
test-mononoke-hg-sync-job.t mononoke: hg sync job: Prefetch Bundle Data 2019-05-21 12:25:28 -07:00
test-push-bookmarks.t Prevent deletion of configured bookmarks 2019-03-18 04:12:09 -07:00
test-push-newblobimport.t mononoke: cleanup tests 2018-12-11 09:48:02 -08:00
test-push-protocol.t mononoke: fix of the discovery problem 2019-03-25 02:20:53 -07:00
test-push-readonly.t mononoke: fix of the discovery problem 2019-03-25 02:20:53 -07:00
test-pushrebase-block-merges.t Prevent merge commits 2019-03-18 11:20:10 -07:00
test-pushrebase-copy-src-changed.t mononoke: add copy/rename sources to list of conflict files in pushrebase 2019-03-11 05:18:31 -07:00
test-pushrebase-discovery.t mononoke: fix of the discovery problem 2019-03-25 02:20:53 -07:00
test-pushrebase-emit-obsmarkers.t mononoke: add obsmarkers to pushrebase output 2019-05-21 12:25:17 -07:00
test-pushrebase-empty.t mononoke: fix pushrebasing an empty commit 2019-01-28 14:40:40 -08:00
test-pushrebase-file-list.t mononoke: fix computing of changed files 2019-03-08 06:28:49 -08:00
test-pushrebase-mutation.t mutation: prefix predecessor hashes with hashing scheme 2019-05-21 12:24:52 -07:00
test-pushrebase.t mononoke: fix test-pushrebase.t 2019-05-21 12:25:08 -07:00
test-rename-in-merge.t mononoke: change how copy information is found 2019-01-17 02:33:35 -08:00
test-server.t tests: provision fb identity in to testing certificates 2019-05-21 12:25:19 -07:00
test-sqlblob.t sqlblob: initial implementation of the sql based blobstore 2019-01-15 07:05:33 -08:00