DocumentSourceMergeCursors::doDispose() should not call done() on connections in state between initLazy and initLazyFinish

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 3.5.11
    • Affects Version/s: None
    • Component/s: Aggregation Framework
    • None
    • Fully Compatible
    • ALL
    • Repl 2017-07-31
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      https://github.com/mongodb/mongo/blob/master/src/mongo/db/pipeline/document_source_merge_cursors.cpp#L178-L180

      This has always been illegal, but at the time it was written, dispose() would get called while in that state. However, calling code has changed such that dispose() is now called if start() throws, by way of ClientCursorPin::deleteUnderlying().

            Assignee:
            Mathias Stearn
            Reporter:
            Mathias Stearn
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: