deardeng commented on code in PR #66448:
URL: https://github.com/apache/doris/pull/66448#discussion_r3717530869
##########
be/src/storage/tablet/tablet.cpp:
##########
@@ -3268,8 +3268,7 @@ Status Tablet::prepare_txn(TPartitionId partition_id,
TTransactionId transaction
}
std::lock_guard<std::mutex> push_lock(get_push_lock());
- return _engine.txn_manager()->prepare_txn(partition_id, transaction_id,
tablet_id(),
- tablet_uid(), load_id, ingest);
+ return _engine.txn_manager()->prepare_txn(partition_id, *this,
transaction_id, load_id, ingest);
Review Comment:
Thanks for identifying these two lifecycle gaps.
This PR is intentionally scoped to restore the shutdown guard introduced by
#42296 that was bypassed by the overload change in #54124. For the storage
migration path, Tablet::prepare_txn holds the shared migration lock through
the state check and transaction registration, while migration takes the
exclusive lock and checks running transactions.
The slave pull direct-commit path and non-migration tablet replacement
paths
are valid adjacent concerns, but they predate this regression and require
different lifecycle fencing and deterministic tests. They should be handled
in follow-up issues/PRs rather than expanding this minimal regression fix.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]