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

Make DBClientCursor support keeping the cursor open

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 8.2.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Cluster Scalability
    • Fully Compatible
    • Cluster Scalability 2025-03-03

      This is needed by SERVER-101245. ~DBClientCursor currently always kills the cursor unless the last find/aggregate/getMore returned an error or the client has been interrupted. To enable the ReshardingChangeStreamsMonitor to not use a single opCtx to consume change stream events until the final event ("reshardBlockingWrites" or "reshardDoneCatchUp"), it needs to be able to create multiple DBClientCursors to iterate the same cursor. So DBClientCursor needs to support keeping the cursor open after it's destroyed. The ReshardingChangeStreamsMonitor has the logic to kill the cursor itself using the ReshardingDonorService/ReshardingRecipientService instance/cleanup executor.

            Assignee:
            cheahuychou.mao@mongodb.com Cheahuychou Mao
            Reporter:
            cheahuychou.mao@mongodb.com Cheahuychou Mao
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: