[SERVER-24941] Retain previous cursor position(s) on server to enable getMore retrying Created: 07/Jul/16  Updated: 06/Dec/22

Status: Backlog
Project: Core Server
Component/s: Querying
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Eric Milkie Assignee: Backlog - Query Execution
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to SERVER-18564 Allow resuming initial sync: resume d... Closed
Assigned Teams:
Query Execution
Participants:

 Description   

This would enable a driver (or replica set node via the internal client) to retry a getMore that got interrupted by timeout or network error, without needing to reestablish the cursor position with a new find query.

The project requires a change to the format of the getMore command as well as internal changes to the way we track cursors on the server.

There may be some design complications regarding aggregation in particular.



 Comments   
Comment by Andy Schwerin [ 11/Jul/16 ]

I believe that SERVER-18564 is a relevant piece of related work. Without this ticket, a transient network error during a collection clone forces us to restart the collection clone from scratch, because we have no way to specify where we're picking up from.

Comment by Ian Whalen (Inactive) [ 11/Jul/16 ]

milkie it'd be useful if you could also please link this to the issue representing the repl team's work on retrying getMores on cursors.

Generated at Thu Feb 08 04:07:50 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.