了解通道服务的错误格式定义和错误码信息。

通道服务在收到异常请求后,会返回protobuf格式错误以及HTTP状态码。

格式定义

protobuf错误格式如下:

message Error {
    required string code = 1;
    optional string message = 2;
    optional string tunnel_id = 3;
}

错误码

使用SDK时,只需要关心处理逻辑为“返回错误”的错误码,其余错误码会被SDK自动处理或重试,建议直接按相应处理逻辑处理错误码。

HTTP状态码 错误码 描述 处理逻辑
400 OTSParameterInvalid API请求参数错误或数据表不存在。 返回错误。
400 OTSTunnelExpired 增量Tunnel或全量加增量Tunnel日志过期。 返回错误。
403 OTSPermissionDenied 无指定资源的访问权限。 返回错误。
409 OTSTunnelExist 待创建的Tunnel已经在服务端存在。 返回错误。
400 OTSSequenceNumberNotMatch checkpoint序列号不匹配,通常是序列号滞后或者Channel消费有竞争。 通过checkpoint API重新获取checkpoint和序列号。
410 OTSResourceGone Tunnel Client心跳超时。 使用TunnelID重新连接Tunnel Service。
503 OTSTunnelServerUnavailable Tunnel服务内部错误。 退避重试。