apache/seatunnel · error · DorisConnectorException
BACKEND_CLIENT_FAILED
BACKEND_CLIENT_FAILED
Error message
routing.toString() (DorisConnectorException BACKEND_CLIENT_FAILED, cause ex)
What it means
BackendClient.open exhausts all BE endpoints trying to open the Thrift transport to a Doris backend; after the final attempt it logs the routing and last TTransportException, then throws DorisConnectorException(BACKEND_CLIENT_FAILED) — no BE node was reachable.
Solutions
- Verify Doris BE hosts/ports in the config are correct and reachable
- Check BE process health and firewall/network connectivity from the SeaTunnel worker
- Confirm FE-provided BE routing is not stale after cluster topology changes
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/backend/BackendClient.java:105 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of apache/seatunnel@cf67b549a7 (2026-09-10).
Data as JSON: /api/errors/25c266ace9a7a87a.
Report an issue: GitHub.
Appendix: source
Thrown at seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/backend/BackendClient.java:105
log.trace(
"Connect status before open transport to {} is '{}'.",
routing,
isConnected);
if (!transport.isOpen()) {
transport.open();
isConnected = true;
log.info("Success connect to {}.", routing);
break;
}
} catch (TTransportException e) {
log.warn(ErrorMessages.CONNECT_FAILED_MESSAGE, routing, e);
ex = e;
}
}
if (!isConnected) {
log.error(ErrorMessages.CONNECT_FAILED_MESSAGE, routing);
// throw new ConnectedFailedException(routing.toString(), ex);
throw new DorisConnectorException(
DorisConnectorErrorCode.BACKEND_CLIENT_FAILED, routing.toString(), ex);
}
}
private void close() {
log.trace("Connect status before close with '{}' is '{}'.", routing, isConnected);
isConnected = false;
if ((transport != null) && transport.isOpen()) {
transport.close();
log.info("Closed a connection to {}.", routing);
}
if (null != client) {
client = null;
}
}
/**
* Open a scanner for reading Doris data.View on GitHub (pinned to cf67b549a7)