In _meta_btree_apply, there is a loop to apply an operation against all file data handles in the metadata. In getting a data handle, if it returns EBUSY, the loop is aborted, rather than simply skipping this entry. It looks like one important use of this function is in preparing a list of checkpoint handles in session->ckpt_handle. It seems if EBUSY can be returned, for example if a file is dropped simultaneous to walking the metadata, then the list will be incomplete, and we will miss flushing a bunch of handles. I don't know if this is theoretical or how serious it may be.
- is related to
WT-3951 Add bulk load and checkpoint abort test