Search before reporting
Read release policy
User environment
Client Java
Issue Description
pulsar-client/src/main/java/org/apache/pulsar/client/impl/ControlledClusterFailover.java:
@Override
public void close() {
this.executor.shutdown();
if (httpClient != null) {
try {
httpClient.close();
} catch (IOException e) {
log.error("Failed to close http client.");
}
}
}
The IOException e is captured but never logged.
When the HTTP client fails to close (which happens on socket leaks, half-closed connections, or shutdown races), the operator sees one line:
ERROR ...ControlledClusterFailover - Failed to close http client.
and no information about what went wrong. The IOException could be:
SocketTimeoutException - the connection didn't drain in time.
IOException("Connection reset") - the proxy dropped us.
IOException("Idle eviction failed") - an internal Jetty error.
All three suggest different remedies, and the operator can't tell which without enabling DEBUG logs.
When a client transitions away from a cluster, this close() runs. Diagnostic information here is the only signal an operator has that the failover happened cleanly.
Error messages
Reproducing the issue
N/A
Additional information
No response
Are you willing to submit a PR?
Search before reporting
Read release policy
User environment
Client Java
Issue Description
pulsar-client/src/main/java/org/apache/pulsar/client/impl/ControlledClusterFailover.java:The
IOException eis captured but never logged.When the HTTP client fails to close (which happens on socket leaks, half-closed connections, or shutdown races), the operator sees one line:
and no information about what went wrong. The
IOExceptioncould be:SocketTimeoutException- the connection didn't drain in time.IOException("Connection reset")- the proxy dropped us.IOException("Idle eviction failed")- an internal Jetty error.All three suggest different remedies, and the operator can't tell which without enabling DEBUG logs.
When a client transitions away from a cluster, this
close()runs. Diagnostic information here is the only signal an operator has that the failover happened cleanly.Error messages
Reproducing the issue
N/A
Additional information
No response
Are you willing to submit a PR?