sapling/eden/integration
Genevieve Helsel 9944a5dff5 add EdenServer recovery step and recover after failed takeover data send handshake
Summary:
* This adds a `EdenServer::recover()` method to start back up on unsuccessful takeover data send.
    * On an unsuccessful ping, filfill the `shutdownPromise` with a `TakeoverSendError` continaing the constructed `TakeoverData`. After this `recover` function is called, `takeoverPromise_` is reset, `takeoverShutdown` is set to `false`, and the `runningState_` is set to `RUNNING`.
With taking over from the returned `TakeoverData`, the user will not encounter `Transport not connected` errors on recovery.

* This adds a `EdenServer::closeStorage()` method to defer closing the `backingStore_` and `localStore_` until after our ready handshake is successful.
* This defers the shutdown of the `PrivHelper` until a successful ready handshake.

I also update the takeover documentation here with the new logic (and fix some formatting issues)

Reviewed By: simpkins

Differential Revision: D20433433

fbshipit-source-id: f59e660922674d281957e80aee5049735b901a2c
2020-04-07 09:52:21 -07:00
..
fsck Move eden.cli namespace to eden.fs.cli 2020-03-25 11:46:56 -07:00
helpers add EdenServer recovery step and recover after failed takeover data send handshake 2020-04-07 09:52:21 -07:00
hg unicode: skip binary filenames coming from Eden 2020-03-17 09:14:35 -07:00
lib add EdenServer recovery step and recover after failed takeover data send handshake 2020-04-07 09:52:21 -07:00
snapshot Move cli/ directory from eden/ to eden/fs (Without changing namespace) 2020-03-25 11:18:30 -07:00
basic_test.py replace a bunch of pyre-fixme comments with pyre-ignoree 2020-02-24 18:55:19 -08:00
chown_test.py replace a bunch of pyre-fixme comments with pyre-ignoree 2020-02-24 18:55:19 -08:00
clone_test.py replace explicit casts with pyre-ignore comments for T38947910 2020-03-30 21:23:02 -07:00
CMakeLists.txt support running the hg status integration tests in CMake builds 2019-10-04 08:56:38 -07:00
config_test.py Tidy up license headers 2019-10-11 05:28:23 -07:00
corrupt_overlay_test.py Tidy up license headers 2019-10-11 05:28:23 -07:00
debug_getpath_test.py Tidy up license headers 2019-10-11 05:28:23 -07:00
doteden_test.py Update pyre version for eden 2020-02-23 15:25:23 -08:00
edenclient_test.py Tidy up license headers 2019-10-11 05:28:23 -07:00
fsck_test.py replace a bunch of pyre-fixme comments with pyre-ignoree 2020-02-24 18:55:19 -08:00
glob_test.py add EdenErrorType to EdenError 2019-10-29 09:23:03 -07:00
health_test.py replace explicit casts with pyre-ignore comments for T38947910 2020-03-30 21:23:02 -07:00
help_test.py Tidy up license headers 2019-10-11 05:28:23 -07:00
info_test.py Tidy up license headers 2019-10-11 05:28:23 -07:00
linux_cgroup_test.py Tidy up license headers 2019-10-11 05:28:23 -07:00
materialized_query_test.py add EdenErrorType to EdenError 2019-10-29 09:23:03 -07:00
mmap_test.py replace a bunch of pyre-fixme comments with pyre-ignoree 2020-02-24 18:55:19 -08:00
mount_test.py Move eden.cli namespace to eden.fs.cli 2020-03-25 11:46:56 -07:00
oexcl_test.py Tidy up license headers 2019-10-11 05:28:23 -07:00
patch_test.py Tidy up license headers 2019-10-11 05:28:23 -07:00
persistence_test.py eden/integration/persistence_test.py 2020-02-24 15:42:45 -08:00
rage_test.py Tidy up license headers 2019-10-11 05:28:23 -07:00
rc_test.py Move eden.cli namespace to eden.fs.cli 2020-03-25 11:46:56 -07:00
redirect_test.py Move eden.cli namespace to eden.fs.cli 2020-03-25 11:46:56 -07:00
remount_test.py Tidy up license headers 2019-10-11 05:28:23 -07:00
rename_test.py Tidy up license headers 2019-10-11 05:28:23 -07:00
repo_test.py Tidy up license headers 2019-10-11 05:28:23 -07:00
restart_test.py replace explicit casts with pyre-ignore comments for T38947910 2020-03-30 21:23:02 -07:00
rocksdb_store_test.py Move eden.cli namespace to eden.fs.cli 2020-03-25 11:46:56 -07:00
sed_test.py Tidy up license headers 2019-10-11 05:28:23 -07:00
service_log_test.py Update pyre version for eden 2019-10-16 16:56:29 -07:00
setattr_test.py Tidy up license headers 2019-10-11 05:28:23 -07:00
stale_test.py Tidy up license headers 2019-10-11 05:28:23 -07:00
start_test.py replace explicit casts with pyre-ignore comments for T38947910 2020-03-30 21:23:02 -07:00
stats_test.py expose the longest outstanding import 2020-04-01 09:54:30 -07:00
stop_test.py add is_process_alive() and is_edenfs_process() methods to ProcUtils 2020-04-03 20:05:35 -07:00
systemd_fixture_test.py add is_process_alive() and is_edenfs_process() methods to ProcUtils 2020-04-03 20:05:35 -07:00
systemd_test.py replace explicit casts with pyre-ignore comments for T38947910 2020-03-30 21:23:02 -07:00
takeover_test.py add EdenServer recovery step and recover after failed takeover data send handshake 2020-04-07 09:52:21 -07:00
thrift_test.py Update pyre version for eden 2020-02-23 15:25:23 -08:00
unixsocket_test.py Tidy up license headers 2019-10-11 05:28:23 -07:00
unlink_test.py Tidy up license headers 2019-10-11 05:28:23 -07:00
userinfo_test.py Tidy up license headers 2019-10-11 05:28:23 -07:00
xattr_test.py Tidy up license headers 2019-10-11 05:28:23 -07:00