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

Add parameter for explain() to bound the trial phase

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Won't Do
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Querying
    • Labels:
      None
    • Case:

      Description

      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.  

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              backlog-server-query Backlog - Query Team (Inactive)
              Reporter:
              christopher.harris Christopher Harris
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: