Updated on 2026-01-20 GMT+08:00

Querying Metadata Locks

Function

Query metadata locks. Currently, only MySQL instances are supported.

Authorization Information

Each account has permissions to call all APIs, but IAM users must have the required permissions specifically assigned.

  • If you are using role/policy-based authorization, see the required permissions in Permissions Policies and Supported Actions.
  • If you are using identity policy-based authorization, the following identity policy-based permissions are required.

    Action

    Access Level

    Resource Type (*: required)

    Condition Key

    Alias

    Dependencies

    das:clouddba:listMetadataLock

    List

    Instance

    -

    -

    -

URI

GET /v3/{project_id}/instances/{instance_id}/metadata-locks

Table 1 URI parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Definition

Project ID of a tenant in a region

To obtain this value, see Obtaining a Project ID.

Constraints

N/A

Range

The value can contain 32 characters, including only letters and digits.

Default Value

N/A

instance_id

Yes

String

Definition

Unique ID of an instance

Constraints

Only MySQL instances are supported.

Range

The value can contain 32 characters, including only letters and digits.

Default Value

N/A

Table 2 Query parameters

Parameter

Mandatory

Type

Description

db_user_id

Yes

String

Definition

Database user ID, that is, ID of a connection established between the database account and the database. A database user ID is created by calling the API in Creating a Database User.

Constraints

N/A

Range

The value is a UUID containing 36 characters. Only letters, digits, and hyphens (-) are allowed.

Default Value

N/A

thread_id

No

String

Definition

Session ID

Constraints

N/A

Range

[0, 2^31-1]. The actual value depends on the query result.

Default Value

N/A

database

No

String

Definition

Database name

Constraints

Only MySQL instances are supported.

Range

N/A

Default Value

N/A

table

No

String

Definition

Table name

Constraints

Only MySQL instance tables are supported.

Range

N/A

Default Value

N/A

Request Parameters

None

Response Parameters

Status code: 200

Table 3 Response body parameters

Parameter

Type

Description

metadata_locks

Array of MetadataLock objects

Definition

List of metadata locks.

Range

N/A

count

Integer

Definition

Number of metadata locks.

Range

[0, 2^31-1]. The actual value depends on the query result.

Table 4 MetadataLock

Parameter

Type

Description

thread_id

String

Definition

Session ID

Range

[0, 2^31-1]. The actual value depends on the query result.

lock_status

String

Definition

Lock status

Range

  • PENDING: A lock wait occurs.
  • GRANTED: A lock is held.

lock_mode

String

Definition

Lock mode

Range

  • MDL_SHARED
  • MDL_EXCLUSIVE
  • MDL_SHARED_READ
  • MDL_SHARED_WRITE

lock_type

String

Definition

Lock type

Range

  • Table metadata lock
  • Schema metadata lock
  • Tablespace lock
  • Global read lock

lock_duration

String

Definition

Lock granularity

Range

  • MDL_STATEMENT: statement level
  • MDL_TRANSACTION: transaction level
  • MDL_EXPLICIT: global level

table_schema

String

Definition

Database where a lock is located. This field is left blank for some global read metadata locks.

Range

N/A

table_name

String

Definition

Table name

Range

N/A

user

String

Definition

User

Range

N/A

time

String

Definition

Time

Range

N/A

host

String

Definition

Host

Range

N/A

database

String

Definition

Database where a session is located

Range

N/A

command

String

Definition

Command

Range

N/A

state

String

Definition

Status

Range

  • Sleep: Wait for a new request from a client.
  • Searching rows for update: Scan rows in the first phase.
  • Sending data: Read and process rows to be queried.
  • Sorting for group / order: Sort memory or disks.
  • Waiting for table metadata lock: Wait for a metadata lock.
  • Locked: Wait for release of row-level or table-level locks.
  • Statistics: Calculate statistics.
  • Updating: Find rows to be updated and modify them.
  • Copying to tmp table on disk: The temporary result set is being moved from memory to disks.

sql

String

Definition

SQL statement

Range

N/A

trx_exec_time

String

Definition

Transaction execution time

Range

N/A

block_process

Array of Process objects

Definition

List of blocked sessions

Range

N/A

wait_process

Array of Process objects

Definition

List of waiting sessions

Range

N/A

Table 5 Process

Parameter

Type

Description

id

String

Definition

Session ID

Range

[0, 2^31-1]. The actual value depends on the query result.

user

String

Definition

User

Range

N/A

host

String

Definition

Host

Range

N/A

database

String

Definition

Database

Range

N/A

command

String

Definition

Command

Range

N/A

time

String

Definition

Session duration

Range

N/A

state

String

Definition

Status

Range

  • Sleep: Wait for a new request from a client.
  • Searching rows for update: Scan rows in the first phase.
  • Sending data: Read and process rows to be queried.
  • Sorting for group / order: Sort memory or disks.
  • Waiting for table metadata lock: Wait for a metadata lock.
  • Locked: Wait for release of row-level or table-level locks.
  • Statistics: Calculate statistics.
  • Updating: Find rows to be updated and modify them.
  • Copying to tmp table on disk: The temporary result set is being moved from memory to disks.

sql

String

Definition

SQL statement

Range

N/A

trx_executed_time

String

Definition

Transaction duration

Range

N/A

Example Requests

Querying metadata locks

GET https://das.cn-north-1.myhuaweicloud.com/v3/054e292c9880d4992f02c0196d3ea468/instances/da304cd5bbb944de828759bc7be3d3fein01/metadata-locks?db_user_id=2c250598-1e3c-4d31-bc19-be1d866247e6&thread_id=12121&database=example&table=example

Example Responses

Status code: 200

{
  "metadata_locks" : [ {
    "thread_id" : "4096619",
    "lock_status" : "GRANTED",
    "lock_mode" : "MDL_SHARED_READ",
    "lock_type" : "Table metadata lock",
    "lock_duration" : "MDL_TRANSACTION",
    "table_schema" : "test_zyr",
    "table_name" : "test2",
    "user" : "root",
    "time" : "40",
    "host" : "das server",
    "database" : "test_zyr",
    "command" : "Sleep",
    "state" : "",
    "sql" : null,
    "trx_exec_time" : "341",
    "block_process" : [ ],
    "wait_process" : [ ]
  } ],
  "count" : 1
}

Status Codes

Status Code

Description

200

Successful response

400

Bad request

500

Internal server error

Error Codes

See Error Codes.