TiDB 的产品打磨离不开社区用户的参与,我们在优化和完善 TiDB 产品的同时,非常尊重大家的线上的使用习惯和 DBA 运维规范。最近我们准备在 v4.0 版本开始改善 ERRO CODE 和 ERROR MESSAGE 输出形式,完善报错的标准化输出,会将 TiDB/TiKV/PD/Tools/RB 的 LOG 输出做一些调整,本次需求讨论活动想要了解一下现在大家对 LOG 使用的一些看法,如果调整 ERROR LOG 对于上线业务、运维平台开发会有哪些在风险。
ERROR CODE 调整主要分成几个方面,详情可以看下方链接:
- TiDB client 和 TiDB server 之间的协议遵循 MySQL 规范,不做改动;著名报错代码不会变动(例如:8005、9005)
- 本次变动主要是 error code 和 message 的变动,会增加规范的 error code 信息;
- 所有组件都会增加 ERROR CODE;
BR:Internal:FileNotFound
KV:Region:EpochNotMatch
KV:Region:NotLeader
- ERROR LOG 会有变化,error message 格式调整为[ErrorCode] message;
[2020/07/17 18:38:06.461 +08:00] [ERROR] [import.go:259] ["failed to download file"] [error="[BR:Internal:DownloadFileFailed] failed to download foo.sst : File not found"] [errVerbose="..."]
具体研发设计文档可以看一下 Github Link:https://github.com/pingcap/tidb/blob/master/docs/design/2020-05-08-standardize-error-codes-and-messages.md
欢迎大家在评论区一起讨论,讨论周期会在一周结束(2020-07-24 ~ 2020-07-31)。