[SERVER-71639] resharding_generate_oplog_entries.js should retry on TransientTransactionError Created: 28/Nov/22 Updated: 12/Dec/23 |
|
| Status: | Backlog |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Enrico Golfieri | Assignee: | Backlog - Cluster Scalability |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | cs-subteam1, sharding-nyc-subteam1 | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||
| Assigned Teams: |
Cluster Scalability
|
||||
| Participants: | |||||
| Linked BF Score: | 5 | ||||
| Description |
|
The resharding donor machinery forces an asynchronous catalog refresh which might end up happening during a second statement of any of the transactions in the resharding_generate_oplog_entries.js. Since a lock is hold, this generates a ShardCannotRefreshDueToLocksHeld. In case this error is reported during a second or higher statement of the transaction, the router returns the error up to the user as a form of TransientTransactionError, which should be handled. |