Uploaded image for project: 'Compass '
  1. Compass
  2. COMPASS-6122

Investigate changes in SERVER-67363: $indexStats aggregations seem to increment the top counter twice

    XMLWordPrintableJSON

Details

    • Icon: Investigation Investigation
    • Resolution: Done
    • Icon: Major - P3 Major - P3
    • No version
    • None
    • None
    • None

    Description

      Original Downstream Change Summary

      Fixed the bug when all aggregations with stage $indexStats incremented Top counters "readLock" and "commands" twice instead of only once.

      Description of Linked Ticket

      This addition to jstests/core/top.js seems to cause it to fail:

      diff --git a/jstests/core/top.js b/jstests/core/top.js
      index 20630f274c9..490865442e5 100644
      --- a/jstests/core/top.js
      +++ b/jstests/core/top.js
      @@ -125,11 +125,19 @@ for (i = 0; i < numRecords; i++) {
       }
       lastTop = assertTopDiffEq(testColl, lastTop, "commands", numRecords);
       
      +// aggregate
      +assert.eq(0, testColl.aggregate([]).itcount());  // All records were just deleted.
      +lastTop = assertTopDiffEq(testColl, lastTop, "commands", 1);
      +
       // getIndexes
       assert.eq(1, testColl.getIndexes().length);
       assertTopDiffEq(testColl, lastTop, "commands", 1);
       lastTop = assertTopDiffEq(testColl, lastTop, "readLock", 1);
       
      +// aggregate with $indexStats
      +assert.eq(1, testColl.aggregate([{$indexStats: {}}]).itcount());
      +lastTop = assertTopDiffEq(testColl, lastTop, "commands", 1);
      +
       // createIndex
      

      Specifically, that last assertion fails since "commands" is incremented by 2 instead of 1.

      Attachments

        Activity

          People

            Unassigned Unassigned
            backlog-server-pm Backlog - Core Eng Program Management Team
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: