alibaba/canal · error · CanalClientException
stop channel error
Error message
stop channel error
What it means
Error "stop channel error" thrown in alibaba/canal.
Source
Thrown at client/src/main/java/com/alibaba/otter/canal/client/rabbitmq/RabbitMQCanalConnector.java:100
} catch (IOException | TimeoutException e) {
throw new CanalClientException("Start RabbitMQ producer error", e);
}
}
@Override
public void disconnect() throws CanalClientException {
if (connect != null) {
try {
connect.close();
} catch (IOException e) {
throw new CanalClientException("stop connect error", e);
}
}
if (channel != null) {
try {
channel.close();
} catch (IOException | TimeoutException e) {
throw new CanalClientException("stop channel error", e);
}
}
}
@Override
public boolean checkValid() throws CanalClientException {
return true; // 永远true
}
/**
* RabbitMQ支持拉取 不需要订阅
*
* @param filter
* @throws CanalClientException
*/
@Override
public void subscribe(String filter) throws CanalClientException {
// 不存在连接 则重新连接View on GitHub (pinned to 87be50e876)
Solutions
- Ensure the channel is not already closed (by broker or by a previous error) when stop is invoked.
- Catch and log this exception during shutdown; it is usually safe to ignore if the connection is being closed anyway.
When it happens
Trigger: Thrown at client/src/main/java/com/alibaba/otter/canal/client/rabbitmq/RabbitMQCanalConnector.java:100 when the library encounters an invalid state.
Common situations: Error closing RabbitMQ channel. Log and continue; attempt connection close afterwards so the network resource is still released.
AI-assisted analysis of alibaba/canal@87be50e876 (2026-08-14).
Data as JSON: /api/errors/c32d4a948905b717.
Report an issue: GitHub.