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

Randomize creates and drops in workgen and support restarts

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • WT11.2.0, 6.3.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • 3
    • StorEng - 2023-01-24

      WT-10238 and WT-10239 added functionality in workgen and associated python tests to create and drop tables along with a workload. Then WT-10456 moved all of that functionality inside workgen managed by separate create and drop workload threads.

      After the changes from WT-10456, the tables are created and dropped sequentially. We would rather these are randomly selected. Also, we need to support the workload to continue functioning across the restarts.

      Randomizing the tables should not be hard, instead of sequential we generate random table names. Similarly, we chose a random table to delete from the dynamic set of random tables.

      We need some more work to support restarts:
      There are two sets of tables now in workgen. One, that the workload knows about and that are tables created by the workload itself. Let's call this as the static set. The other is the dynamic set that is the random tables being created and deleted that a set of threads operate on. The workload doesn't know about these. To be able to continue across the restarts, the workgen's dynamic set data structures need to be populated with the existing set of these random tables. We need to do this before any operation gets started. To tag the dynamic set of tables different to the static set, we can put an entry in the app_metadata for these dynamic sets to differentiate them from the static set.

            Assignee:
            sulabh.mahajan@mongodb.com Sulabh Mahajan
            Reporter:
            sulabh.mahajan@mongodb.com Sulabh Mahajan
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: