apache/seatunnel · error
source request split failed.
Error message
source request split failed.
What it means
SourceFlowLifeCycle.requestSplit() sends a RequestSplitOperation to the split enumerator and blocks on the result. If the call is interrupted or the remote execution fails, this warning is logged and a RuntimeException is thrown, failing the reader's split request. The reader cannot read any data until the enumerator assigns it a split.
Solutions
- Check the enumerator task's logs for a crash before this failure; fix the root enumerator error first.
- Verify cluster member health and network between nodes; restart failed members.
- Rerun the job after the transient cluster issue is resolved.
- If it happens with idle/idle-timeout scenarios, review the source's split assignment and idle-reader handling configuration.
Defensive patterns
Strategy: retry
Validate before calling
null
Type guard
null
Try / catch
try {
sourceFlowLifeCycle.requestSplit();
} catch (RuntimeException e) {
retryWithBackoff(() -> sourceFlowLifeCycle.requestSplit(), 3);
} Prevention
- Monitor enumerator task health and split-enumeration latency
- Keep cluster members connected; alert on member-down events
- Review source idle-reader/split-assignment configuration for jobs with few splits
When it happens
Trigger: sendToMember(new RequestSplitOperation(...), enumeratorTaskAddress).get() throws InterruptedException or ExecutionException — enumerator task dead/missing, member down, or reader interrupted during the wait.
Common situations: Enumerator crashed after initial registration (e.g. source connection failure during split enumeration); network partition in the Zeta cluster; job cancelled while the reader waits for its split; dynamic split assignment edge cases where the enumerator has no splits left and the operation errors.
Understand the failure class
Background: Request timed out: what client-side request timeouts mean across libraries (Request timed out, TIMED_OUT, APITimeoutError) — this error's family across 39 libraries.
Related errors
- source register failed.
- Can not get coordinator service from an active master node.
- can't apply resource request
- can't apply resource request with retry times
- Cannot fetch from another split - no split remaining.
AI-assisted analysis of apache/seatunnel@cf67b549a7 (2026-09-10).
Data as JSON: /api/errors/83a8d1f31c601def.
Report an issue: GitHub.
Appendix: source
Thrown at seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/task/flow/SourceFlowLifeCycle.java:417
/**
* Sends a split request to the remote split enumerator.
*
* <p>Sends a {@link RequestSplitOperation} to the enumerator, requesting new splits to be
* assigned to this reader. The enumerator will respond asynchronously by calling {@link
* #receivedSplits(List)}.
*
* @throws RuntimeException if the split request fails due to communication errors
*/
public void requestSplit() {
try {
runningTask
.getExecutionContext()
.sendToMember(
new RequestSplitOperation(currentTaskLocation, enumeratorTaskLocation),
enumeratorTaskAddress)
.get();
} catch (InterruptedException | ExecutionException e) {
log.warn("source request split failed.", e);
throw new RuntimeException(e);
}
}
public void sendSourceEventToEnumerator(SourceEvent sourceEvent) {
try {
runningTask
.getExecutionContext()
.sendToMember(
new SourceReaderEventOperation(
enumeratorTaskLocation, currentTaskLocation, sourceEvent),
enumeratorTaskAddress)
.get();
} catch (InterruptedException | ExecutionException e) {
log.warn("source request split failed.", e);
throw new RuntimeException(e);
}
}View on GitHub (pinned to cf67b549a7)