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

Make WT::compact command more test friendly in the MDB layer

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • WT11.2.0, 7.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Labels:

      I'm working on SERVER-70201 to interrupt long running WT::compact commands from the MDB layer. This work leverages the WT::compact command interruptibility added in WT-9636.

      I'm trying to write a JS test in the MDB layer that interrupts an active WT::compact command. I need WT::compact to check for interrupt sooner – preferably at start. Currently WT::compact checks for interrupt after 100 internal iterations, for which it appears to be very difficult to write a test data workload that runs in any reasonable amount of time – I've only managed to provoke 2 iterations. Furthermore, it would be helpful to surface a single WT log message that compaction did not occur, that can then be checked for – the absence thereof – in the MDB testing to ensure that compaction took place.

      Specific requests:
      1) Make the interrupt check run the first iteration. Instead of checking interrupt every 100th run, check it the first run and then every 100th.
      2) Consistently log a msg when WT::compact decides there's no useful work to do. Currently there's a log msg here if the table data is too small to bother compacting. However, there are two more checks where compact skips but does not log anything.

       

            Assignee:
            peter.macko@mongodb.com Peter Macko
            Reporter:
            dianna.hohensee@mongodb.com Dianna Hohensee (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: