Closed weicao closed 1 year ago
should fix testcase: _TestGatewayBufferingWhenPrimarySwitchesServingState
_TestGatewayBufferingWhileReparenting
Next, I will implement this feature.
see also: https://vitess.io/docs/16.0/reference/features/vtgate-buffering/
see also: https://github.com/vitessio/vitess/issues/8462
The implementation of Vitess is quite complicated due to its sharding architecture, which leads to a lot of redundant codes. In my opinion, it might be over-designed and lacks support for unplanned failover. I will start a new issue about this feature.
Feature Description
After I kill the wesql-server leader node, wesql-scale will immdiately return an error for subsequent SQL queries until a new leader is elected and the wesql-server cluster is recovered.
kill the leader node
wesql-scale returns error like this
This behavior is not expected by users, because usually applications use database connection pooling, when any error happens to the connection, the connection will be terminated and removed from conn_pool, a new connection will be created and put in the pool. If the wesql-server cluster can be recovered in a short period of time, these error handling operations bring unnecessary costs.
I would like SQL queries are paused for a while and answer as usual after the wesql-server cluster recovers, as
Use Case(s)
No response