ref pingcap/tidb#40786
ref pingcap/tidb#44940
Signed-off-by: Breezewish <me@breeswish.org> Co-authored-by: crazycs <crazycs520@gmail.com> Co-authored-by: Lynn <zimu_xia@126.com> Co-authored-by: ti-srebot <66930949+ti-srebot@users.noreply.github.com>