本文介绍通道服务的错误格式定义和错误码信息。
通道服务在收到异常请求后,会返回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服务内部错误。 | 退避重试。 |
文档内容是否对您有帮助?