Make ExternalDataSourceScopeGuard a unique_ptr rather than shared_ptr

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Query Integration
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      SERVER-85453 modified the external data source system so that its decoration on the client cursor is effectively a unique_ptr. However, making it a unique_ptr in practice proved to unveil some scope complications that violated intentional lock/operation ordering in run_aggregate.

      We should try to work around that to make it a unique_ptr so we can be confident the scope guard's lifecycle is as expected. We should also consider making it a member field in the client cursor, rather than a decoration (which will require some SCons library refactoring to avoid a dependency).

              Assignee:
              Unassigned
              Reporter:
              Will Buerger
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: