apache/seatunnel · warning · IOException
Closing httpClient failed.
Error message
Closing httpClient failed.
What it means
DorisStreamLoad.close() wraps any IOException thrown while closing the general-purpose Apache HttpClient and rethrows it as 'Closing httpClient failed.'. Same intent as the sibling streamLoadHttpClient error, but for the shared sync client.
Source
Thrown at seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/sink/writer/DorisStreamLoad.java:375
"try abort committed transaction, " + "do you recover from old savepoint?");
}
log.warn("Fail to abort transaction. txnId: {}, error: {}", txnID, res.get("msg"));
}
}
public void close() throws IOException {
if (null != streamLoadHttpClient) {
try {
streamLoadHttpClient.close();
} catch (IOException e) {
throw new IOException("Closing streamLoadHttpClient failed.", e);
}
}
if (null != httpClient) {
try {
httpClient.close();
} catch (IOException e) {
throw new IOException("Closing httpClient failed.", e);
}
}
if (null != executorService) {
executorService.shutdownNow();
}
}
}
View on GitHub (pinned to cf67b549a7)
Solutions
- Check the wrapped cause for the real failure
- Ensure abort/commit of 2PC transactions completes before writer close
- Treat as benign if it occurs during job teardown with recovered state
- Report/upgrade if it reproduces on every checkpoint-triggered close
Defensive patterns
Strategy: try-catch
Try / catch
try { streamLoad.close(); } catch (IOException e) { LOG.warn("close failed", e); /* inspect cause */ } Prevention
- Ensure connections are released before close
- Avoid abrupt cancellation when possible
- Inspect cause chain for leaked connections
When it happens
Trigger: closeStreamLoadQuietly invokes DorisStreamLoad.close() while httpClient != null and its close() throws an IOException.
Common situations: Connections still leased during failover; abrupt task cancellation; interrupted close during shutdown.
Related errors
- Closing streamLoadHttpClient failed.
- failed to close arrow stream reader.
- Error while closing Databend source reader
- Failed to close Neo4j source reader.
- Failed to close Pulsar client after aborting transactions.
AI-assisted analysis of apache/seatunnel@cf67b549a7 (2026-09-10).
Data as JSON: /api/errors/d83ffba085724c7e.
Report an issue: GitHub.