$elemMatch with histogramCE hits uassert 9808601

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Query Optimization
    • ALL
    • Hide
      import {runWithParamsAllNonConfigNodes} from "jstests/noPassthrough/libs/server_parameter_helpers.js";const coll = db[jsTestName()];
      coll.drop();assert.commandWorked(coll.insert({a: [0, 1], m: 0}));
      assert.commandWorked(coll.insert({a: [2, 3], m: 1}));
      assert.commandWorked(coll.insert({a: [0, 0], m: 0}));runWithParamsAllNonConfigNodes(
          db,
          {
              featureFlagCostBasedRanker: true,
              internalQueryCBRCEMode: "histogramCE",
          },
          () => {
              assert.commandWorked(
                  coll.runCommand({
                      analyze: coll.getName(),
                      key: "a",
                      numberBuckets: 10,
                  }),
              );
              assert.commandWorked(
                  coll.runCommand({
                      analyze: coll.getName(),
                      key: "m",
                      numberBuckets: 10,
                  }),
              );        assert.commandWorked(
                  coll.runCommand({
                      aggregate: coll.getName(),
                      pipeline: [{$match: {a: {$elemMatch: {$ne: 0}}, m: {$eq: 0}}}, {$limit: 1}],
                      explain: true,
                  }),
              );
          },
      );
       
      Show
      import {runWithParamsAllNonConfigNodes} from "jstests/noPassthrough/libs/server_parameter_helpers.js" ; const coll = db[jsTestName()]; coll.drop(); assert .commandWorked(coll.insert({a: [0, 1], m: 0})); assert .commandWorked(coll.insert({a: [2, 3], m: 1})); assert .commandWorked(coll.insert({a: [0, 0], m: 0}));runWithParamsAllNonConfigNodes(     db,     {         featureFlagCostBasedRanker: true ,         internalQueryCBRCEMode: "histogramCE" ,     },     () => {         assert .commandWorked(             coll.runCommand({                 analyze: coll.getName(),                 key: "a" ,                 numberBuckets: 10,             }),         );         assert .commandWorked(             coll.runCommand({                 analyze: coll.getName(),                 key: "m" ,                 numberBuckets: 10,             }),         );        assert .commandWorked(             coll.runCommand({                 aggregate: coll.getName(),                 pipeline: [{$match: {a: {$elemMatch: {$ne: 0}}, m: {$eq: 0}}}, {$limit: 1}],                 explain: true ,             }),         );     }, );
    • 200
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Came up in BF-41471

      Can repro on master commit 2c37d9931b36b8c89baa952f71a6f260353cbd9f by changing pbt seed value to 7 (diff is attached in comment on the BF)

            Assignee:
            Unassigned
            Reporter:
            Evan Bergeron
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: