Failing to drop idents for an unfinished index build during recovery does not use the ident reaper and return any drop ident failure to higher level.
As part of rollback to stable we re-open the catalog and restart unfinished index builds as needed. As we are in rollback to stable we're not able to modify the catalog (as we cannot perform timestamped writes) we'll reuse the ident name by dropping the previous ident and re-creating a new with the same name. Link.
However, if dropping this ident fails, the status is returned and eventually converted to an exception here causing the catalog to not finish its setup as we throw here. This is completely unrecoverable and leads to further exceptions being thrown which terminates the process as we're already handling an existing exception (the failure to start the index build due to the failure to drop the ident)
- is related to
-
WT-12964 Consider documenting 'checkpoint_wait', 'lock_wait', and EBUSY for uncheckpointed tables in WT_SESSION::drop
- Open