-
Type: New Feature
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Fully Compatible
-
v5.0
-
Sharding 2021-11-29, Sharding 2021-12-13, Sharding 2021-12-27, Sharding 2022-01-10, Sharding 2022-01-24, Sharding 2022-02-07
-
178
-
3
- test if connection can be made to configured DNS servers
- attempt to resolve an address
We need to build a representative list of servers to test. This might be tricky of somehow we pick servers that actually do have incorrect DNS name, and we treat it as a fatal error. A simple solution:
1. we build a list of servers discovered, this may include many shards and 3 config servers. Potentially, it could be hundreds of them
2. when building the list, cap it at some number like 20, so we don't pull 1,000 servers for really large clusters
3. shuffle the list randomly and pick the first 10 servers. Every time, the list of those 10 servers to resolve will be different, thus we avoid some unfortunate combination of servers that always fail
Remember it's important to always cap the list of servers we resolve, we need to control the cost.
- depends on
-
SERVER-59383 Implement generic TCP connection health check component
- Closed
- is depended on by
-
SERVER-59385 Should create and consume HealthStats instance as a reaction to DNS errors
- Closed