Keep PCTE registry token alive until destruction completes

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Fixed
    • Priority: Major - P3
    • 9.0.0-rc0, 8.3.5
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Integration
    • Fully Compatible
    • v8.3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      The TaskExecutorCursor destructor calls _pcteToken.reset() before the killCursors callback and PCTE destruction is complete. If shutdownPinnedExecutors runs after the token is reset but while the PCTE still has in-flight networking, it won't find the PCTE.

      Move _pcteToken into the killCursors callback lambda (as a shared_ptr) so the PCTE stays registered in the shutdown registry until it is fully destroyed. This closes the race window where shutdownPinnedExecutors could miss the PCTE during concurrent cursor teardown and server shutdown.

            Assignee:
            Daniel Segel
            Reporter:
            Daniel Segel
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: