# [Critical bug] v5.0.0-1 异步提交锁不能被清理的问题

## Issue

在内部测试中，我们发现了 Async Commit 锁无法被清理，所有涉及该 key 的读写请求都会被阻塞的严重 bug。

### 问题现象

部分读写请求永远被阻塞

GC 由于锁无法被清理停止运行

CDC 的 resolved TS 由于锁无法被清理停止推进

开启 Async Commit 特性，并在写入压力很大、事务提交很慢的情况下，异常关闭 TiDB，残留部分锁，有概率触发。

## Root Cause

TiDB 遇到使用 Async Commit 的 secondary lock 时，错误地强制将 current TS 设成 0 检查事务状态。如果该事务的 primary lock 因为 prewrite 时间过长退化成普通 2PC 时，该锁会永远被认为没有超时而不被清理。

## Diagnostic Steps

N/A

## Resolution

建议暂时关闭 Async Commit 以避免触发该问题：set global tidb_enable_async_commit = 0。

触发问题后，没有临时规避方案。需要升级到修复了该 bug 的新版本 TiDB 解决。 TiDB PR: <https://github.com/pingcap/tidb/pull/22723>

## Workaround