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]

Reply via email to