Track transient evaluation memory against the operation memory budget

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Minor - P4
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Execution
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Memory consumed while evaluating an expression is transient and unlike the durable state a stage accumulates (e.g. $group/$sort buffers), it cannot influence the stage's spilling decision. Therefore it should not be counted against the stage's memory limit. We still want to account this memory against the stage's memory tracker for accurate per-stage attribution, but we want to enforce it against the operation-wide memory limit rather than the per-stage one, because enforcing per-stage would cause unnecessary query failures when a single stage exceeds its limit even though the operation as a whole still has memory available, whereas enforcing at the operation level avoids those spurious failures while still bounding total memory.

            Assignee:
            Unassigned
            Reporter:
            Foteini Alvanaki
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: