错误代码手册

最近更新时间:2024-12-02 10:02:11

我的收藏

前言

PTS 错误码主要有两种:
引擎发请求包时产生的自定义错误码。
引擎透传的 HTTP、gRPC 等协议的错误码。
错误码只代表大致的错误类型;若要定位具体错误原因,请务必参考错误的详细信息。

引擎自定义错误码

引擎自定义的错误码,是用来进一步细分脚本可能导致的错误,例如:设置的 HTTP 超时时间不合理(默认10秒)、域名不存在等,方便您排查问题。
错误码
英文描述
错误码含义
999
unkown
通用错误码,具体原因见请求采样、施压机引擎日志。
1010
context deadline
请求超时,通常与1301状态码同时出现,均表示超时。
1100
具体的 DNS 错误信息
DNS 查询出错的通用错误码。
1101
lookup: no such host
DNS 域名解析错误。
1200
具体的 TCP 错误信息
请求在成功建立网络连接后出错的通用错误码。
1201
具体的 TCP op error 错误信息
请求出错,且该请求使用的不是 TCP 连接。
1202
connection reset by peer
请求出错,且该错误发生于数据的读取或写入场景,服务端关闭了连接,可能是服务端异常、或负载过高等原因。
1203
broken pipe
请求出错,且该错误发生于数据的写入场景,服务端关闭了连接,可能是服务端异常、或负载过高等原因。
1204
具体的系统调用错误信息
请求出错,且错误来源于系统调用。
1210
具体的 dial 错误信息
请求在建立网络连接时出错的通用错误码。
1211
unknown errno on with message
请求出错,且该错误来源于未被识别的系统调用。
1212
dial: i/o timeout
建立网络连接超时。
1301
request canceled
请求取消,通常是因为超时,且超时情况下通常与1010错误码同时出现。
2000
具体错误信息
数据库操作出错。
2001
具体错误信息
检查点结果为 False。

HTTP 协议常见错误码

状态码
状态码英文名称
中文描述
100
Continue
继续。客户端应继续其请求。
101
Switching Protocols
切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到 HTTP 的新版本协议。
200
OK
请求成功。一般用于 GET 与 POST 请求。
201
Created
已创建。成功请求并创建了新的资源。
202
Accepted
已接受。已经接受请求,但未处理完成。
203
Non-Authoritative Information
非授权信息。请求成功。但返回的 meta 信息不在原始的服务器,而是一个副本。
204
No Content
无内容。服务器成功处理,但未返回内容。在未更新网页的情况下,可确保浏览器继续显示当前文档。
205
Reset Content
重置内容。服务器处理成功,用户终端(例如:浏览器)应重置文档视图。可通过此返回码清除浏览器的表单域。
206
Partial Content
部分内容。服务器成功处理了部分 GET 请求。
300
Multiple Choices
多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如浏览器)选择。
301
Moved Permanently
永久移动。请求的资源已被永久的移动到新 URI,返回信息会包括新的 URI,浏览器会自动定向到新 URI。今后任何新的请求都应使用新的 URI 代替。
302
Found
临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有 URI。
303
See Other
查看其它地址。与301类似。使用 GET 和 POST 请求查看。
304
Not Modified
未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源。
305
Use Proxy
使用代理。所请求的资源必须通过代理访问。
306
Unused
已经被废弃的 HTTP 状态码。
307
Temporary Redirect
临时重定向。与302类似。使用 GET 请求重定向。
400
Bad Request
客户端请求的语法错误,服务器无法理解。
401
Unauthorized
请求要求用户的身份认证。
402
Payment Required
保留,将来使用。
403
Forbidden
服务器理解请求客户端的请求,但是拒绝执行此请求。
404
Not Found
服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面。
405
Method Not Allowed
客户端请求中的方法被禁止。
406
Not Acceptable
服务器无法根据客户端请求的内容特性完成请求。
407
Proxy Authentication Required
请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权。
408
Request Time-out
服务器等待客户端发送的请求时间过长,超时。
409
Conflict
服务器完成客户端的 PUT 请求时可能返回此代码,服务器处理请求时发生了冲突。
410
Gone
客户端请求的资源已经不存在。410不同于404,如果资源以前有现在被永久删除了可使用410代码,网站设计人员可通过301代码指定资源的新位置。
411
Length Required
服务器无法处理客户端发送的不带 Content-Length 的请求信息。
412
Precondition Failed
客户端请求信息的先决条件错误。
413
Request Entity Too Large
由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个 Retry-After 的响应信息。
414
Request-URI Too Large
请求的 URL 过长( URL 通常为网址),服务器无法处理。
415
Unsupported Media Type
服务器无法处理请求附带的媒体格式。
416
Requested range not satisfiable
客户端请求的范围无效。
417
Expectation Failed
服务器无法满足 Expect 的请求头信息。
500
Internal Server Error
服务器内部错误,无法完成请求。
501
Not Implemented
服务器不支持请求的功能,无法完成请求。
502
Bad Gateway
作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应。
503
Service Unavailable
由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的 Retry-After 头信息中。
504
Gateway Time-out
充当网关或代理的服务器,未及时从远端服务器获取请求。
505
HTTP Version not supported
服务器不支持请求的 HTTP 协议的版本,无法完成处理。

gRPC 协议常见错误码

英文描述
状态码
说明
OK
0
不是错误;成功后返回。
CANCELLED
1
该操作通常被调用方取消。
UNKNOWN
2
未知错误。例如,当从另一个地址空间接收的 Status 值属于此地址空间中未知的错误空间时,可能会返回此错误。此外,API 引发的错误如果没有返回足够的错误信息,则可能会转换为此错误。
INVALID_ARGUMENT
3
客户端指定的参数无效。请注意,这与 FAILED_PRECONDITION 不同。INVALID_ARGUMENT 表示无论系统状态如何都有问题的参数(例如,格式错误的文件名)。
DEADLINE_EXCEEDED
4
在操作完成之前,截止日期已过期。对于更改系统状态的操作,即使操作已成功完成,也可能返回此错误。例如,来自服务器的成功响应可能会延迟很长时间。
NOT_FOUND
5
找不到某些请求的实体(例如,文件或目录)。服务器开发人员注意:如果对整个用户类别的请求被拒绝,例如逐步推出功能或未记录的allowlist,则可以使用 NOT_FOUND。如果某类用户中的某些用户的请求被拒绝,例如基于用户的访问控制,则必须使用 PERMISSION_denied。
ALREADY_EXISTS
6
客户端试图创建的实体(例如,文件或目录)已存在。
PERMISSION_DENIED
7
调用者没有执行指定操作的权限。permission_DENIED 不能用于因耗尽某些资源而导致的拒绝(对于这些错误,请使用 resource_EXHAUSTED)。如果无法识别调用者,则不得使用 PERMISTION_DENIED (对于这些错误,请使用 UNAUTHENTICATED)。此错误代码并不意味着请求有效,或者请求的实体存在或满足其他先决条件。
RESOURCE_EXHAUSTED
8
某些资源已用尽,可能是每个用户的配额,也可能是整个文件系统空间不足。
FAILED_PRECONDITION
9
操作被拒绝,因为系统未处于执行操作所需的状态。例如,要删除的目录是非空的,rmdir 操作应用于非目录等。服务实现者可以使用以下准则来决定 FAILED_PRECONDITION、ABORTED 和 UNAVAILABLE:
如果客户端可以重试失败的调用,请使用 UNAVAIALLE。
如果客户端应在更高级别重试(例如,当客户端指定的测试和设置失败时,表示客户端应重新启动读-修改-写序列),请使用 ABORTED。
如果在显式修复系统状态之前客户端不应重试,请使用 FAILED_PRECONDITION。例如,如果“rmdir”因目录非空而失败,则应返回 FAILED_PRECONDITION,因为除非从目录中删除文件,否则客户端不应重试。
ABORTED
10
操作被中止,通常是由于并发问题,如序列器检查失败或事务中止。请参阅上面的指导原则,以确定FAILED_PRECONDITION、ABORTED和UNAVAILABLE。
OUT_OF_RANGE
11
尝试的操作超出了有效范围。 例如,查找或读取文件末尾。与 INVALID_ARGUMENT 不同,此错误表示一个问题,如果系统状态发生变化,则可以修复该问题。例如,如果要求32位文件系统以不在[0,2^32-1]范围内的偏移量进行读取,则会生成 INVALID_ARGUMENT,但如果要求以超过当前文件大小的偏移量读取,则将生成 OUT_OF_range。FAILED_PRECONDITION 和 OUT_of_RANGE 之间有一点重叠。我们建议在应用时使用 OUT_OF_RANGE(更具体的错误),以便在空间中迭代的调用者可以很容易地查找 OUT_OF-RANGE 错误,以便在完成时进行检测。
UNIMPLEMENTED
12
此服务未实现或不支持/启用该操作。
INTERNAL
13
内部错误。这意味着底层系统预期的一些不变量已被打破。此错误代码是为严重错误保留的。
UNAVAILABLE
14
该服务当前不可用。这很可能是一种瞬态情况,可以通过回退重试来纠正。请注意,重试非幂等操作并不总是安全的。
DATA_LOSS
15
无法恢复的数据丢失或损坏。
UNAUTHENTICATED
16
请求没有该操作的有效身份验证凭据。