[SERVER-79997] In attachCursorToPipeline when local read fails we should not catch stale config exceptions Created: 15/Aug/23  Updated: 19/Oct/23

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

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

Issue Links:
Depends
depends on SERVER-77402 Create ShardRole retry loop utility Backlog
Related
Assigned Teams:
Query Execution
Participants:
Linked BF Score: 113

 Description   

In attachCursorToPipeline we catch StaleDbVersion and StaleShardVersionError exceptions, but in theory we should not, as 
sharding::router::CollectionRouter already handles this type of errors.

But if we remove them, we just fail with "Exceeded maximum number of 10 retries attempting .. sharding status of collection ... is not currently known and needs to be recovered"
 
This means that somewhere we don't handle config refresh correctly.



 Comments   
Comment by Amr Elhelw [ 05/Sep/23 ]

Sending to backlog since we are rewriting a lot of the sharded execution code in 8.0, and we can revisit this afterwards.

Generated at Thu Feb 08 06:42:26 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.