pingcap / pingcap/tidb

User transaction may commit fail when concurrent DDL is running

Open
#64,241 0 comments 0 reactions 0 assignees View on GitHub
nextgen severity/major type/bug
Dominant language
Go
Stars
40.5k
Forks
6.2k
PR merge metrics
PR metrics pending

Description

## Bug Report

For transactions in TiDB-X, or optimistic transactions for classic kernel, it is possible for a user transaction to fail to commit due to write conflict with a concurrent DDL job.

DDL doesn't lock row keys now. When a DDL and a user txn both modifies temp index key, write conflicts can happen when the user txn try to commit.

While we expect that user transaction should not fail because of DDL

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

TiDB-X (test `TestExchangePartition` failure when using client-go 108d20a439f29b4f9d8c8b5e4ee2eb60fedf86d2)
or
Classic (via theoretical analysis)

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.