-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wait for master until a timeout #95
Comments
It seems, it was crud-0.0.4. The relevant code is the following: Lines 33 to 37 in 1fa7ffc
The code remain unchanged since 0.0.4. It seems logical that there is a time frame, when the old master is already demoted, but the new one is not promoted yet. Also I see that vshard contains 'whether there is a master?' checks that confirms my guess. We should not lean on master presence unconditionally and should report a proper error if there is no master. The error should give a user hint that it is a transient error and the request can be safely retried. BTW, crud has no autoretries / retry strategy settings? |
BTW, as I see, vshard's call automatically waits for master (until a timeout). It seems, it would be good to use the same approach. NB: Don't forget to substract time we waiting for a space from net.box request timeout. |
replace_object
Added validation of the master presence in replicaset to the `utils.get_space` method with timeout condition. Closes #95
Added timeout condition for the validation of master presence in replicaset and for the master connection to the `utils.get_space` method. Closes #95
Added timeout condition for the validation of master presence in replicaset and for the master connection to the `utils.get_space` method. Closes #95
Added timeout condition for the validation of master presence in replicaset and for the master connection to the `utils.get_space` method. Closes #95
Added timeout condition for the validation of master presence in replicaset and for the master connection to the `utils.get_space` method. Closes #95
Added timeout condition for the validation of master presence in replicaset and for the master connection to the `utils.get_space` method. Closes #95
Added timeout condition for the validation of master presence in replicaset and for the master connection to the `utils.get_space` method. Closes #95
Overview This release introduces a breaking change with removing a deprecated feature: `crud.len(space_id)`. This release also introduces a Cartridge clusterwide config to setup `crud.cfg`. Breaking changes You cannot use space id as a space identifier in `crud.len` anymore. Use space name instead. New features * Timeout condition for the validation of master presence in replicaset and for the master connection (#95). * Cartridge clusterwide configuration for `crud.cfg` (#332). Changes * Forbid using space id in `crud.len` (#255). Fixes * Add validation of the master presence in replicaset and the master connection to the `utils.get_space` method before receiving the space from the connection (#331). * Fix fiber cancel on schema reload timeout in `call_reload_schema` (PR #337).
Overview This release introduces a breaking change with removing a deprecated feature: `crud.len(space_id)`. This release also introduces a Cartridge clusterwide config to setup `crud.cfg`. Breaking changes You cannot use space id as a space identifier in `crud.len` anymore. Use space name instead. New features * Timeout condition for the validation of master presence in replicaset and for the master connection (#95). * Cartridge clusterwide configuration for `crud.cfg` (#332). Changes * Forbid using space id in `crud.len` (#255). Fixes * Add validation of the master presence in replicaset and the master connection to the `utils.get_space` method before receiving the space from the connection (#331). * Fix fiber cancel on schema reload timeout in `call_reload_schema` (PR #336).
Overview This release introduces a breaking change with removing a deprecated feature: `crud.len(space_id)`. This release also introduces a Cartridge clusterwide config to setup `crud.cfg`. Breaking changes You cannot use space id as a space identifier in `crud.len` anymore. Use space name instead. New features * Timeout condition for the validation of master presence in replicaset and for the master connection (#95). * Cartridge clusterwide configuration for `crud.cfg` (#332). Changes * Forbid using space id in `crud.len` (#255). Fixes * Add validation of the master presence in replicaset and the master connection to the `utils.get_space` method before receiving the space from the connection (#331). * Fix fiber cancel on schema reload timeout in `call_reload_schema` (PR #336).
The text was updated successfully, but these errors were encountered: