[SERVER-81338] Improve the approach of sending killCursors request from AsyncResultsMerger Created: 22/Sep/23 Updated: 30/Jan/24 |
|
| Status: | Open |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Foteini Alvanaki | Assignee: | Backlog - Query Execution |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Assigned Teams: |
Query Execution
|
||||||||
| Operating System: | ALL | ||||||||
| Participants: | |||||||||
| Description |
|
ARM does not send a `killCursors` request only when we are absolutely sure that the shard cursor has not been already killed. We identify that by looking at the error code in the status of the cursor. We should improve this approach either by formalising an error category and label to indicate cases where the cursor is guaranteed to already have been killed, or by dynamically attaching extra error info in cases where the cursor is destroyed. |