Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-3948

Data handle loop may terminate without applying operations

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 3.6.4, 3.7.3, WT3.1.0
    • Affects Version/s: None
    • Component/s: None
    • Labels:

      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.

            donald.anderson@mongodb.com Donald Anderson
            donald.anderson@mongodb.com Donald Anderson
            0 Vote for this issue
            5 Start watching this issue