apache/seatunnel · error · TDengineConnectorException
UNSUPPORTED_OPERATION
UNSUPPORTED_OPERATION
Error message
Unsupported handleSplitRequest: %d
What it means
TDengineSourceSplitEnumerator does not support on-demand split requests from readers, so handleSplitRequest always throws. Split assignment is enumerator-driven; a reader requesting a specific split is an unsupported operation for this connector.
Source
Thrown at seatunnel-connectors-v2/connector-tdengine/src/main/java/org/apache/seatunnel/connectors/seatunnel/tdengine/source/TDengineSourceSplitEnumerator.java:223
pendingSplits.computeIfAbsent(ownerReader, r -> new ArrayList<>()).addAll(splits);
}
@Override
public TDengineSourceState snapshotState(long checkpointId) {
synchronized (stateLock) {
return new TDengineSourceState(shouldEnumerate, pendingSplits, assignCount.get());
}
}
@Override
public void notifyCheckpointComplete(long checkpointId) {}
@Override
public void close() {}
@Override
public void handleSplitRequest(int subtaskId) {
throw new TDengineConnectorException(
CommonErrorCodeDeprecated.UNSUPPORTED_OPERATION,
String.format("Unsupported handleSplitRequest: %d", subtaskId));
}
}
View on GitHub (pinned to cf67b549a7)
Solutions
- Do not call handleSplitRequest against this connector; rely on its enumerator's proactive split assignment.
- If dynamic split requests are required, switch to or implement a connector whose enumerator supports them.
- Check for custom modifications to the source reader that issue split requests.
Defensive patterns
Strategy: validation
Validate before calling
// Never call sendSplitRequest against this source; rely on enumerator assignment
// if (sourceReader instanceof TDengineSourceReader) { /* no split requests */ } Prevention
- Do not invoke split-request APIs on TDengine source readers
- Let the TDengine split enumerator assign splits proactively
- Review custom reader code that assumes dynamic split negotiation
When it happens
Trigger: Any call to handleSplitRequest(subtaskId) — i.e. a SourceReader calling sendSplitRequest / the framework routing a split request to this enumerator.
Common situations: Custom source reader code or framework path requesting splits dynamically; mixing this connector with code expecting dynamic split assignment semantics.
Understand the failure class
Background: UnsupportedOperationException and "is not supported" errors: when a library deliberately refuses a call — this error's family across 30 libraries.
Related errors
- UNSUPPORTED_OPERATION
- Operator %s requires an expectValue, but expectValue is null
- %s does not support replacing comments
- Not implemented
- Unsupported data format type:
AI-assisted analysis of apache/seatunnel@cf67b549a7 (2026-09-10).
Data as JSON: /api/errors/0bd289a533925c52.
Report an issue: GitHub.