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

Testy fails while expecting a table to be in use while it's not

    • Type: Icon: Bug Bug
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • 5
    • StorEng - Defined Pipeline

      The assertion that fires is the same as in WT-10934:

      ASSERT(_icontext->_dyn_table_runtime[tint]._in_use > 0);
      

      But this time it seems to come from a different root cause. When this occurs, the metadata file looks fine, there is no missing mirror. The reason might be the original thought I had when I created WT-10934:

      The field _in_use, when greater than 0, indicates that a thread is currently using that table. This prevents other threads from dropping the table for instance.

      Where the assertion is, since a thread is done working on the table, we want to make sure the field is greater than 0 before decrementing it.

      There are two things we should do to investigate:

      • Why is this only done for operations on random tables?
      • We should investigate where the field _in_use is incremented/decremented to make sure we have not forgotten anything.

            Assignee:
            etienne.petrel@mongodb.com Etienne Petrel
            Reporter:
            etienne.petrel@mongodb.com Etienne Petrel
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: