tarantool / vshard

The new generation of sharding based on virtual buckets
Other
100 stars 31 forks source link

Mechanism for additional health checkers in vshard #487

Open pavlua opened 2 weeks ago

pavlua commented 2 weeks ago

Motivation: In a replication conflict situation, when one of the replicas in the replicaset has problems in the upstream in box.info.replication, this replica has data different from the master. However, vshard.router will consider it active and healthy, and route requests to it. For some customers who care about maximizing read consistency, this behavior seems unacceptable, and they want to eliminate the chance of reading data from conflicting replicas.

Suggestion: I would like to be able to use some custom health checks of replicas in vshard (may be activated via some setting). Specifically in this case, I would like to monitor replication errors in box.info.replication so that the router does not send requests there in case of errors. Probably, replication errors are not the only case when I would like to exclude replicas from the pool of available ones, but this is the only example I have.

Serpentian commented 2 weeks ago

Related: https://github.com/tarantool/vshard/issues/453

R-omk commented 3 days ago

a little related https://github.com/tarantool/vshard/issues/219

When a node has started the shutdown process, then there is no need to send to it any more requests.