ES|QL|DS: Reassign splits when a data node is unreachable at dispatch #159750

Open
julian-elastic opened 5:30pm on September 18, 2026 wants to merge 633 Δ into elastic/elasticsearch main from
failingNode

Pull Request Overview

  • Opened on September 18, 2026
  • Status Open
  • Commit count 6 with first commit September 18, 2026

Total Delta

633 Total Diff Delta

Open Days

Open 0 weekdays

Test Delta

208 Diff Delta in Test Files
Breakdown by Phase

How long has this pull request spent in each phase of its lifecycle?

Fraction of total time Business days Phase
 
0.4 days Authoring 2 commits before pull request opened for review
 
0.0 days Awaiting first review
 
0.6 days Revising work with 4 commits in response to 0 reviews that left 3 comments

Total time for pull request still awaiting merge: 1.0 business day

Author avatar

ES|QL|DS: Reassign splits when a data node is unreachable at dispatch

ES|QL|DS: Reassign splits when a data node is unreachable at dispatch

Problem

A query over an external dataset can succeed with is_partial: false and no warning when a worker assigned splits is already gone at dispatch (connection closed, or the node left cluster state between planning and send). The coordinator merges the surviving pages and reports a complete answer that omitted that worker's files.

Fix


  • Resolve every assigned worker before sending work.

  • Move unreachable workers' splits onto live workers (round-robin).

  • Fail only when no worker resolves.

  • If a skip remains and partial results are allowed, mark the answer partial and warn with the node and split count.

Tests



  • DataNodeComputeHandlerExternalDispatchTests covers missing node, connection failure, two-survivor round-robin, all-unreachable, and all-reachable.


  • ExternalDistributedNodeUnavailableIT asserts a complete, non-partial COUNT/SUM when one data node's connection throws at dispatch, with and without allow_partial_results.

Closes https://github.com/elastic/esql-planning/issues/2002

Comments Threads Pending Resolution

Resolved Comment Threads

No resolved comments have been left on this PR.