diff --git a/src/server/engine_shard.cc b/src/server/engine_shard.cc index e1e9f04ec..6d4db3e0b 100644 --- a/src/server/engine_shard.cc +++ b/src/server/engine_shard.cc @@ -872,7 +872,7 @@ EngineShard::TxQueueInfo EngineShard::AnalyzeTxQueue() const { { auto value = queue->At(cur); Transaction* trx = std::get(value); - info.head.debug_id_info = trx->DebugId(); + info.head.debug_id_info = trx->DebugId(sid); } do { diff --git a/src/server/list_family.cc b/src/server/list_family.cc index 33858c0f8..beed2866f 100644 --- a/src/server/list_family.cc +++ b/src/server/list_family.cc @@ -1050,6 +1050,7 @@ OpResult BPopPusher::RunPair(time_point tp, Transaction* tx, ConnectionC if (op_res.status() == OpStatus::KEY_NOTFOUND) { op_res = OpStatus::TIMED_OUT; } + tx->Conclude(); return op_res; } diff --git a/src/server/transaction.cc b/src/server/transaction.cc index ca3d15172..54f243055 100644 --- a/src/server/transaction.cc +++ b/src/server/transaction.cc @@ -58,7 +58,7 @@ void AnalyzeTxQueue(const EngineShard* shard, const TxQueue* txq) { ", poll_executions:", shard->stats().poll_execution_total); const Transaction* cont_tx = shard->GetContTx(); if (cont_tx) { - absl::StrAppend(&msg, " continuation_tx: ", cont_tx->DebugId(), " ", + absl::StrAppend(&msg, " continuation_tx: ", cont_tx->DebugId(shard->shard_id()), " ", cont_tx->DEBUG_IsArmedInShard(shard->shard_id()) ? " armed" : ""); } absl::StrAppend(&msg, "\nTxQueue head debug info ", info.head.debug_id_info); @@ -558,7 +558,9 @@ string Transaction::DebugId(std::optional sid) const { absl::StrAppend(&res, " {id=", trans_id(this)); if (sid) { absl::StrAppend(&res, ",mask[", *sid, "]=", int(shard_data_[SidToId(*sid)].local_mask), - ",txqpos[]=", shard_data_[SidToId(*sid)].pq_pos); + ",is_armed=", DEBUG_IsArmedInShard(*sid), + ",txqpos[]=", shard_data_[SidToId(*sid)].pq_pos, + ",fail_state_print=", DEBUG_PrintFailState(*sid)); } absl::StrAppend(&res, "}"); return res;