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

WTPERF reports incorrect upper bound item count during populate

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major - P3
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: Backlog
    • Component/s: None
    • Labels:

      Description

      In execute_populate, wtperf computes the total number of items to populate as:

      max_key = (uint64_t)opts->icount + (uint64_t)opts->scan_icount;

      So max_key is the total number of items that will be inserted during the populate phase. The populate for-loop in that function keeps populating until the item count reaches max_key.

      However, when reporting the progress during the populate phase, wtperf prints, something like:

      X populate inserts (Y of Z) in K secs (M total secs).

      Z should be equal to max_key, but in fact Z is printed as opts->icount by this code line:

      lprintf(wtperf, 0, 1, "%" PRIu64 " populate inserts (%" PRIu64 " of %" PRIu32
                                    ") in %" PRIu32 " secs (%" PRIu32 " total secs)",
                wtperf->insert_ops - last_ops, wtperf->insert_ops, opts->icount, opts->report_interval,
                wtperf->totalsec);
      

      As a result, for workloads where scan_icount is not equal to zero, wtperf prints

      X populate inserts (Y of Z) in K secs (M total secs).

      with Y > Z, which is confusing.

        Attachments

          Activity

            People

            Assignee:
            sulabh.mahajan Sulabh Mahajan
            Reporter:
            sasha.fedorova Sasha Fedorova
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated: