查询锁等待会话信息 - ShowLockWaitSession
功能介绍
根据节点ID和会话ID查询锁等待会话信息。
调用方法
请参见如何调用API。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,需具备如下身份策略权限。
URI
GET /v3/{project_id}/instances/{instance_id}/nodes/{node_id}/process/lock-wait
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| project_id | 是 | String | 参数解释: 租户在某一Region下的project ID。 获取方法请参见获取项目ID。 约束限制: 不涉及。 取值范围: 只能由英文字母、数字组成,且长度为32个字符。 默认取值: 不涉及。 |
| instance_id | 是 | String | 参数解释: 实例ID,此参数是实例的唯一标识。 获取方法请参见查询实例列表。 约束限制: 不涉及。 取值范围: 只能由英文字母、数字组成,后缀为in07,长度为36个字符。 默认取值: 不涉及。 |
| node_id | 是 | String | 参数解释: 节点ID。 获取方法请参见查询实例详情信息。 约束限制: 不涉及。 取值范围: 只能由英文字母、数字组成,且长度为36个字符。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| pid | 是 | Integer | 参数解释: 会话进程ID。 获取方法请参见查询节点用户会话线程。 约束限制: 不能为空。 取值范围: 正整数。 默认取值: 不涉及。 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| X-Auth-Token | 是 | String | 参数解释: 用户Token。 通过调用IAM服务获取用户Token接口获取。 请求响应成功后在响应消息头中包含的"X-Subject-Token"的值即为Token值。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| X-Language | 否 | String | 参数解释: 请求语言类型。 约束限制: 不涉及。 取值范围: 默认取值: en-us。 |
响应参数
状态码:200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| abnormal_root_cause | AbnormalRootCause object | 参数解释: 异常根因信息,包含锁等待或长事务的根因分析。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| abnormal_type | String | 参数解释: 异常类型。 取值范围: LOCK_WAIT:锁等待。 |
| lock_root_cause | LockRootCause object | 参数解释: 锁根因信息。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| locked_pid | Integer | 参数解释: 被锁会话ID。 取值范围: 不涉及。 |
| locked_sql | String | 参数解释: 被锁会话当前执行的SQL。 取值范围: 不涉及。 |
| wait_seconds | Integer | 参数解释: 等待持续时间(秒)。 取值范围: 不涉及。 |
| lock_db | String | 参数解释: 锁所在数据库。 取值范围: 不涉及。 |
| lock_table | String | 参数解释: 锁所在表。 取值范围: 不涉及。 |
| lock_index | String | 参数解释: 锁所在索引。 取值范围: 不涉及。 |
| lock_mode | String | 参数解释: 锁模式。 取值范围: |
| lock_data | String | 参数解释: 锁住的具体数据行的标识。 取值范围: 不涉及。 |
| blocker_pid | Integer | 参数解释: 阻塞源会话ID。 取值范围: 不涉及。 |
| blocker_state | String | 参数解释: 阻塞源事务状态。 取值范围: |
| blocker_age | Integer | 参数解释: 阻塞源事务持续时间(秒)。 取值范围: 不涉及。 |
| blocker_rows_locked | Integer | 参数解释: 阻塞源锁定的行数。 取值范围: 不涉及。 |
| blocker_rows_modified | Integer | 参数解释: 阻塞源修改的行数。 取值范围: 不涉及。 |
| blocker_current_sql | Array of strings | 参数解释: 阻塞源当前执行的SQL列表。 |
| blocker_host | String | 参数解释: 阻塞源主机。 取值范围: 不涉及。 |
| blocker_command | String | 参数解释: 阻塞源命令。 取值范围: 不涉及。 |
| blocker_thread_id | Integer | 参数解释: 阻塞源线程ID。 取值范围: 不涉及。 |
状态码:400
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 错误码。 |
| error_msg | String | 错误消息。 |
请求示例
查询锁等待会话信息。
GET https://{endpoint}/v3/4879de6859e345c780f1a22d8bc6f229/instances/889e005a27254666813a78dba117c0b2in14/nodes/889e005a27254666813a78dba117c0b2no01/process/lock-wait?pid=483563 响应示例
状态码:200
Success.
{
"abnormal_root_cause" : {
"abnormal_type" : "LOCK_WAIT",
"lock_root_cause" : {
"locked_pid" : 483563,
"locked_sql" : "UPDATE t_lock_test SET val = 'leaf' WHERE id = 2",
"wait_seconds" : 20,
"lock_db" : "test",
"lock_table" : "table1",
"lock_index" : "30",
"lock_data" : "12",
"lock_mode" : "X,REC_NOT_GAP",
"blocker_state" : "LOCK WAIT",
"blocker_age" : 300,
"blocker_rows_locked" : 20,
"blocker_host" : "192.168.1.100:54321",
"blocker_command" : "Sleep",
"blocker_thread_id" : 20,
"blocker_pid" : 4834469,
"blocker_rows_modified" : 1,
"blocker_current_sql" : [ "UPDATE t_lock_test SET val = 'middle' WHERE id = 3" ]
}
}
} 状态码
| 状态码 | 描述 |
|---|---|
| 200 | Success. |
| 400 | Client error. |
错误码
请参见错误码。