zhannngchen opened a new pull request, #30095:
URL: https://github.com/apache/doris/pull/30095

   ## Proposed changes
   
   Issue Number: close #xxx
   
   Background:
   1. Migration will create new tablet in different DataDir, the old tablet 
will be moved to TabletManager::_shutdown_tablets.
   2. The migration task won't copy data in stale rowsets to new tablet, so 
after migration, the new tablet don't contains stale rowsets of old tablet
   3. The path GC process will check every path, to make sure if it's an 
useless tablet, or an useless rowset. If it is, will remove data of these 
tablets/rowsets
   
   The issue:
   1. When path GC got a stale rowset path from the data dir of old tablet, it 
extract the tablet id and rowset id
   2. Then it check if the tablet id exists in TabletManager, and the answer is 
YES!
   3. It got the tablet instance, which is the new tablet, then it check if the 
stale rowset id from the old tablet path exists in the new tablet instance, and 
got the answer NO.
   4. The path GC process treat the rowset as an useless rowset, since it can't 
find anyone holds reference to it, then delete  the data of this stale rowset.
   
   Solution:
   1. The lifecycle of all rowsets in a shutdown tablet, should relate with the 
lifecycle of this tablet
   2. we need to differentiate the old tablet and the new one created by 
migration task, while performing path GC.
   
   
   ## Further comments
   
   If this is a relatively large or complex change, kick off the discussion at 
[[email protected]](mailto:[email protected]) by explaining why you 
chose the solution you did and what alternatives you considered, etc...
   
   


-- 
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