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
Ability to stop storage/router #121
Comments
Introduce functions: * vshard.router.destroy() * vshard.storage.destroy() Those functions: * close connections * stop background fibers * delete vshard spaces * delete vshard funcitons * delete `once` metadate Closes #121
Introduce functions: * vshard.router.destroy() * vshard.storage.destroy() Those functions: * close connections * stop background fibers * delete vshard spaces * delete vshard funcitons * delete `once` metadate Closes #121
Introduce functions: * vshard.router.destroy() * vshard.storage.destroy() Those functions: * close connections * stop background fibers * delete vshard spaces * delete vshard funcitons * delete `once` metadate Closes #121
Introduce functions: * vshard.router.destroy() * vshard.storage.destroy() Those functions: * close connections * stop background fibers * delete vshard spaces * delete vshard funcitons * delete `once` metadate After the destroy, module can be configured as it was just loaded. Extra changes: * introduce fiber_list function which returns names of non-tarantool fibers * introduce update_M function, which updates M (module internals) with values defined in the module Closes #121
I have started implementing We cannot just delete
We want to make an API in the way which prevents a user from loosing Possible solutions:
|
Introduce functions: * vshard.router.destroy() * vshard.storage.destroy() Those functions: * close connections * stop background fibers * delete vshard spaces * delete vshard funcitons * delete `once` metadate After the destroy, module can be configured as it was just loaded. Extra changes: * introduce fiber_list function which returns names of non-tarantool fibers * introduce update_M function, which updates M (module internals) with values defined in the module Closes #121
@kostja voted for the second option |
1.Do not need destroy feature. cite @racktear |
No, |
storage.cfg({sharding={}}) is perfectly fine by me. |
Bad idea as well. It is like allow to stop Tarantool with |
I'd like to state the relevance of this feature. We need it in
|
Related issue #219 |
Stopping the vshard-storage role still isn't implemented (see tarantool/vshard#121). So we use nasty workarounds to simulate it. One of the internal netbox connections wasn't closed. It was reused by the rebalancer, but roles reload had corrupted it by killing a control fiber, so the rebalancer got stuck. This patch enhances the cleanup and fixes the rebalancer.
When a replica or a router is moved out of cluster, it would be useful to be able to reset its state: stop background fibers (discovery, failover, recovery ...), clear
_func
from 'vshard.*' functions, close connections.The text was updated successfully, but these errors were encountered: