wangbo opened a new issue #5638:
URL: https://github.com/apache/incubator-doris/issues/5638


   **Describe the bug**
   I found some stale rowset can't be deleted even it has already out of 
time(exceed tablet_rowset_stale_sweep_time_sec);
   And after be restart, it may be dropped;
   I found something interesting in be.INFO, the 
```TimestampedVersionTracker```'s path _next_path_id can be rollback even be 
never restart(eg, from 4000 to 20);
   
   **Reason**
   After clone has finished, ```Tablet::revise_tablet_meta``` could be called, 
and then ```TimestampedVersionTracker``` would be reconstructed.
   ```
   void TimestampedVersionTracker::construct_versioned_tracker(const 
std::vector<RowsetMetaSharedPtr>& rs_metas) {
       if (rs_metas.empty()) {
           VLOG(3) << "there is no version in the header.";
           return;
       }
       _stale_version_path_map.clear();
       _next_path_id = 1;
       _construct_versioned_tracker(rs_metas);
   }
   ```
   
   We can see that ```TimestampedVersionTracker``` ' s _stale_version_path_map 
is cleared and ```_next_path_id``` is set to 1, but tablet meta's ```stale 
rowset```  wasn't deleted  which can't  be accessed from then on.
   
   **Solution**
   I think ```stale rowset`` should be deleted after 
```TimestampedVersionTracker``` 's  _stale_version_path_map is cleared when 
clone is finished.
   
   
   


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

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