Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-41343

Add parameter for explain() to bound the trial phase

    • Type: Icon: Improvement Improvement
    • Resolution: Won't Do
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Querying
    • Labels:
      None
    • Query

      Presently, all verbosity modes for explain() invoke the query planner.  This means that the operation is subject to the general trial phase termination logic.  In some cases, such as when SERVER-31078 is encountered, explain() can run for an extended period of time without returning results.  This behavior can be undesirable when attempting to gather information from a production environment.  

      We should consider introducing a new parameter to explain() which could be used to bound the maximum amount of work done during the trial phase.  This could be used to alleviate concerns regarding the impact of gathering explain() output in certain situations.  While usage of this parameter could result in different plan selection than normal due to the sample size, it is likely generally desirable to be able to gather that output rather than none at all.  

            Assignee:
            backlog-server-query Backlog - Query Team (Inactive)
            Reporter:
            christopher.harris@mongodb.com Chris Harris
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: