pingcap / pingcap/tidb

prepare stmt execute failure when `tidb_super_read_only` = on

Open
#49,671 0 comments 0 reactions 1 assignee Claimed by @guo-shaoge View on GitHub
severity/moderate sig/execution type/bug
Dominant language
Go
Stars
40.5k
Forks
6.2k
PR merge metrics
PR metrics pending

Description

## Bug Report

Please answer these questions before submitting your issue. Thanks!

### 1. Minimal reproduce step (Required)
```sql
mysql> set GLOBAL tidb_super_read_only = ON;
Query OK, 0 rows affected (0.05 sec)

mysql> show variables where variable_name like "%read_only";
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| innodb_read_only | 0 |
| read_only | OFF |
| super_read_only | OFF |
| tidb_super_read_only | ON |
| transaction_read_only | OFF |
| tx_read_only | OFF |
+-----------------------+-------+
6 rows in set (0.01 sec)

mysql> prepare stmt1 from 'begin';
Query OK, 0 rows affected, 1 warning (0.01 sec)

mysql> show warnings;
+---------+------+------------------------------------------------------------------+
| Level | Code | Message |
+---------+------+------------------------------------------------------------------+
| Warning | 1105 | skip plan-cache: not a SELECT/UPDATE/INSERT/DELETE/SET statement |
+---------+------+------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> execute stmt1;
ERROR 1836 (HY000): Running in read-only mode
```

### 2. What did you expect to see? (Required)
execute success
### 3. What did you see instead (Required)
execute failue

### 4. What is your TiDB version? (Required)

```sql
mysql> select version();
+--------------------+
| version() |
+--------------------+
| 5.7.25-TiDB-v6.5.2 |
+--------------------+
1 row in set (0.00 sec)
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.