When using restore_after_nodes, recover_after_data_nodes or recovery_after_master_nodes, after all the specified conditions are fulfilled, the cluster will wait for recover_after_time before starting recovery:
The gateway.recover_after_time parameter (which takes a time value) sets the timeout until recovery occurs gateway.recover_after ... the conditions are met.
When using expected_nodes, expected_data_nodes or expect_master nodes, recovery will begin after all conditions are met - the cluster will not wait. In addition, it will also default recovery_after_time to 5 minutes.
In your test case:
gateway: recover_after_nodes: 3 expected_nodes: 5
As soon as you click 3 nodes, the countdown will begin and the cluster will recover either after 5 minutes (default), or if you click 5 nodes. Basically, this allows you to set a minimum threshold (recovery_after_nodes) with a timeout (recovery_after_time) to wait for the desired state (expected_nodes). You will either restore recovery_after_time after recovery__fter_nodes is called, or when expected_nodes is expected (without any additional wait) - whichever comes first.
John petrone
source share