# [Critical bug] TiDB 5.1.0 一个成功的事务可能会报告提交错误

## Issue

### 受影响版本：v5.1.0

在本周的内部测试中，我们发现了一个严重的错误，即用户在实际成功提交事务时可能会收到“Write Conflict”或“Pessimistic Lock Not Found”错误。

如果使用乐观事务模式并启用自动重试，则可能会重复提交同一个事务。

### 触发条件

使用异步提交或 1PC。

由于网络故障等原因，预写 RPC 的响应丢失。

并发事务写入相同的键。

## Root Cause

在 TiDB 5.1 中，如果重试请求没有遇到，我们改为不关闭用户连接RPC 错误。然而这并不正确，因为重试的响应可能包含其他错误，例如“写入冲突”或“找不到悲观锁”，尽管事务可能已成功提交，但仍会向用户报告。

## Diagnostic Steps

N/A

## Resolution

在 v5.1.0 中禁用异步提交和 1PC：

* 设置全局 tidb_enable_async_commit = 0; 设置全局 tidb_enable_1pc = 0;

v5.1.1

<https://github.com/pingcap/tidb/pull/25803>

## Workaround

N/A