Skip to content
This repository has been archived by the owner on Jan 3, 2025. It is now read-only.

Commit

Permalink
zh: update error handling (#243) (#245)
Browse files Browse the repository at this point in the history
Signed-off-by: ti-srebot <[email protected]>
  • Loading branch information
ti-srebot authored Aug 19, 2020
1 parent 4a7758d commit 96cffdc
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions zh/error-handling.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,9 @@ aliases: ['/docs-cn/tidb-data-migration/stable/error-handling/','/docs-cn/tidb-d
| `dm-master` | DM-master 服务内部出现错误 | `[code=38008:class=dm-master:scope=internal:level=high] grpc request error: rpc error: code = Unavailable desc = all SubConns are in TransientFailure, latest connection error: connection error: desc = "transport: Error while dialing dial tcp 172.17.0.2:8262: connect: connection refused"` |
| `dm-worker` | DM-worker 服务内部出现错误 | `[code=40066:class=dm-worker:scope=internal:level=high] ExecuteDDL timeout, try use query-status to query whether the DDL is still blocking` |
| `dm-tracer` | DM-tracer 服务内部出现错误 | `[code=42004:class=dm-tracer:scope=internal:level=medium] trace event test.1 not found` |
| `schema-tracker` | 增量同步时记录 schema 变更出现错误 | `ErrSchemaTrackerCannotExecDDL,[code=44006:class=schema-tracker:scope=internal:level=high],"cannot track DDL: ALTER TABLE test DROP COLUMN col1"` |
| `scheduler` | 数据同步任务调度相关操作出错操作 | `ErrSchedulerNotStarted,[code=46001:class=scheduler:scope=internal:level=high],"the scheduler has not started"` |
| `schema-tracker` | 增量同步时记录 schema 变更出现错误 | `[code=44006:class=schema-tracker:scope=internal:level=high],"cannot track DDL: ALTER TABLE test DROP COLUMN col1"` |
| `scheduler` | 数据同步任务调度相关操作出错操作 | `[code=46001:class=scheduler:scope=internal:level=high],"the scheduler has not started"` |
| `dmctl` | dmctl 内部或与其他组件交互出现错误 | `[code=48001:class=dmctl:scope=internal:level=high],"can not create grpc connection"` |

- `scope`:错误作用域。

Expand All @@ -59,6 +60,10 @@ aliases: ['/docs-cn/tidb-data-migration/stable/error-handling/','/docs-cn/tidb-d

错误的详细描述信息。对于错误调用链上每一层额外增加的错误 message,采用 [errors.Wrap](https://godoc.org/github.com/pkg/errors#hdr-Adding_context_to_an_error) 的模式来叠加和保存错误 message。wrap 最外层的 message 是 DM 内部对该错误的描述,wrap 最内层的 message 是该错误最底层出错位置的错误描述。

- `workaround`: 错误处理方法(可选)。

对该错误的处理方法。对于部分明确的错误(如:配置信息错误等),DM 会在 `workaround` 中给出相应的人为处理方法。

- 错误堆栈信息(可选)。

DM 根据错误的严重程度和必要性来选择是否输出错误堆栈。错误堆栈记录了错误发生时完整的堆栈调用信息。如果用户通过错误基本信息和错误 message 描述不能完全诊断出错误发生的原因,可以通过错误堆栈进一步跟进出错时代码的运行路径。
Expand Down Expand Up @@ -144,6 +149,6 @@ aliases: ['/docs-cn/tidb-data-migration/stable/error-handling/','/docs-cn/tidb-d

### 执行 `query-status` 或查看日志时出现 `Access denied for user 'root'@'172.31.43.27' (using password: YES)`

在所有 DM 配置文件中,数据库相关的密码都必须使用经 dmctl 加密后的密文(若数据库密码为空,则无需加密)。有关如何使用 dmctl 加密明文密码,参见[使用 dmctl 加密上游 MySQL 用户密码](deploy-a-dm-cluster-using-ansible.md#使用-dmctl-加密上游-mysql-用户密码)。
在所有 DM 配置文件中,数据库相关的密码都推荐使用经 dmctl 加密后的密文(若数据库密码为空,则无需加密)。有关如何使用 dmctl 加密明文密码,参见[使用 dmctl 加密上游 MySQL 用户密码](deploy-a-dm-cluster-using-ansible.md#使用-dmctl-加密上游-mysql-用户密码)。

此外,在 DM 运行过程中,上下游数据库的用户必须具备相应的读写权限。在启动同步任务过程中,DM 会自动进行相应权限的前置检查,详见[上游 MySQL 实例配置前置检查](precheck.md)。

0 comments on commit 96cffdc

Please sign in to comment.