From dc5fe536a9960af9e1b2a2acece9254fcde64a5e Mon Sep 17 00:00:00 2001 From: gengliqi Date: Tue, 21 Jul 2026 17:56:35 +0800 Subject: [PATCH] fix txn-status get Signed-off-by: gengliqi --- include/pingcap/kv/LockResolver.h | 6 +++--- src/kv/LockResolver.cc | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/pingcap/kv/LockResolver.h b/include/pingcap/kv/LockResolver.h index 13763476..5e178356 100644 --- a/include/pingcap/kv/LockResolver.h +++ b/include/pingcap/kv/LockResolver.h @@ -251,14 +251,14 @@ class LockResolver } } - TxnStatus * getResolved(uint64_t txn_id) + std::optional getResolved(uint64_t txn_id) { std::shared_lock lk(mu); auto it = resolved.find(txn_id); if (it == resolved.end()) - return nullptr; - return &(it->second); + return std::nullopt; + return it->second; } diff --git a/src/kv/LockResolver.cc b/src/kv/LockResolver.cc index 40dc6ef9..a79152b5 100644 --- a/src/kv/LockResolver.cc +++ b/src/kv/LockResolver.cc @@ -147,8 +147,8 @@ int64_t LockResolver::resolveLocksForWrite(Backoffer & bo, uint64_t caller_start TxnStatus LockResolver::getTxnStatus(Backoffer & bo, uint64_t txn_id, const std::string & primary, uint64_t caller_start_ts, uint64_t current_ts, bool rollback_if_not_exists, bool force_sync_commit, bool is_txn_file) { - TxnStatus * cached_status = getResolved(txn_id); - if (cached_status != nullptr) + auto cached_status = getResolved(txn_id); + if (cached_status.has_value()) { return *cached_status; }