explain('executionStats') does not observe maxTimeMS if set as an aggregate option

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Works as Designed
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Execution
    • ALL
    • Hide

      See description.

      Show
      See description.
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      This query against the tpc-h dataset:

      db.partsupp.aggregate([{'$lookup': {'from': 'supplier', 'localField': 'ps_suppkey', 'foreignField': 's_suppkey', 'pipeline': [{'$match': {'$and': [{'s_acctbal': {'$lt': 2461.11}}, {'s_acctbal': {'$eq': 1589.13}}]}}, {'$match': {'$or': [{'s_name': 'Supplier#000000312'}]}}], 'as': 'supplier'}}, {'$unwind': '$supplier'}, {'$lookup': {'from': 'nation', 'localField': 'supplier.s_nationkey', 'foreignField': 'n_nationkey', 'pipeline': [{'$match': {'$or': [{'n_regionkey': 0}]}}], 'as': 'nation_s'}}, {'$unwind': '$nation_s'}, {'$match': {'$or': [{'nation_s.n_regionkey': 3}, {'ps_comment': /^d /}]}}, {'$limit': 1000}], {'maxTimeMS': 10}).explain('executionStats');
       

      Fails to time out within 10 ms. I think the problem is that explain + executionStats somehow does not observe the maxTimeMS . I guess this also means that such commands can not be killed using killOp()

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

              Created:
              Updated:
              Resolved: