[feature request] add broadcast mode to `AdaptiveServerSelector`
- Dominant language
- Java
- Stars
- 6.1k
- Forks
- 1.5k
- Avg merge
- 2d 55m
- Merged PRs (30d)
- 182
Description
# what's the problem?
When one server instance is lost abruptly for reasons, query failures are observed for short period in two scenarios:
* The running queries would fail after timeout;
* Some queries are sent to the server before the issue is detected;
# What's the proposal?
Applied to both v1 and v2 engine, by introducing broadcast mode in `AdaptiveServerSelector`, one push-down subquery is sent to all healthy servers which hold a replica of the segment, the first response or the most refreshed response(or other policies) is chosen for the next step. In this way, query failures could be mitigated if lost server number(M) is less than segment replica number(N).
# Risk
By broadcasting subqueries, server instance has x times more workload;
Contributor guide
Research direction
Start by locating AdaptiveServerSelector and tracing how push-down subqueries are selected in both the v1 and v2 engine paths. Define how broadcast responses and selection policies should work, then verify that queries remain available when fewer than all replica servers respond; the issue names no specific files or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend-api-design, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100