heuristicCE: $limit can not be costed with index - MONGO_UNIMPLEMENTED_TASSERT

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Duplicate
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Optimization
    • ALL
    • Hide
      db.foo.drop();
      db.foo.insert({a:1});
      db.foo.createIndex({a:1});
      // db.foo.runCommand({analyze: "foo", key: "a"});db.adminCommand({setParameter: 1, planRankerMode: "multiPlanning"});
      db.foo.aggregate([ { $limit: 1 } ]).explain();
      db.foo.aggregate([ { "$match" : { a:1 }}, {$sort: {b:-1}}, {$limit: 1}]).explain();
      db.adminCommand({setParameter: 1, planRankerMode: "heuristicCE"});
      db.foo.aggregate([ { $limit: 1 } ]).explain();
      db.foo.aggregate([ { "$match" : { a:1 }}, {$sort: {a:1}}, {$limit: 1}]).explain(); 
      Show
      db.foo.drop(); db.foo.insert({a:1}); db.foo.createIndex({a:1}); // db.foo.runCommand({analyze: "foo" , key: "a" });db.adminCommand({setParameter: 1, planRankerMode: "multiPlanning" }); db.foo.aggregate([ { $limit: 1 } ]).explain(); db.foo.aggregate([ { "$match" : { a:1 }}, {$sort: {b:-1}}, {$limit: 1}]).explain(); db.adminCommand({setParameter: 1, planRankerMode: "heuristicCE" }); db.foo.aggregate([ { $limit: 1 } ]).explain(); db.foo.aggregate([ { "$match" : { a:1 }}, {$sort: {a:1}}, {$limit: 1}]).explain();
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      If the `LIMIT` appears as a stand-alone stage in the plan , rather than folded in some other operator, it apparently can not be estimated:

      Enterprise test> db.foo.aggregate([ { $limit: 1 } ]).explain();
      MongoServerError[Location9586709]: Hit a MONGO_UNIMPLEMENTED_TASSERT!
      Enterprise test> db.foo.aggregate([ { "$match" : { a:1 }}, {$sort: {a:1}}, {$limit: 1}]).explain();
      MongoServerError[Location9586709]: Hit a MONGO_UNIMPLEMENTED_TASSERT!
      

            Assignee:
            Unassigned
            Reporter:
            Philip Stoev
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: