apache / apache/pinot

[feature request] add broadcast mode to `AdaptiveServerSelector`

Open
#10,952 1 comment 1 reaction 0 assignees View on GitHub
feature
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.