[SERVER-39890] Make network_error_and_txn_override.js retry logic follow the driver spec as much as possible Created: 28/Feb/19  Updated: 06/Dec/22  Resolved: 24/May/19

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

Type: Bug Priority: Major - P3
Reporter: Randolph Tan Assignee: [DO NOT USE] Backlog - Sharding Team
Resolution: Won't Fix Votes: 0
Labels: pm-564
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-39702 Remove config server as transaction c... Closed
Related
related to SERVER-38937 Unify txn_override.js and auto_retry_... Closed
is related to SERVER-40186 The logic in `auto_retry_transaction.... Closed
is related to SERVER-40493 Make Interrupted a retryable writes e... Closed
Assigned Teams:
Sharding
Operating System: ALL
Sprint: Sharding 2019-04-08, Sharding 2019-04-22
Participants:
Linked BF Score: 14

 Description   

Current condition for commit retry in txn_override.js does not fully follow the driver spec. We should revisit this once SERVER-39702 is finished.

Driver spec would retry commit only on retryable errors. For this test fixture, we don't need to strictly driver's only one retry policy.

See also:
commit retry specs



 Comments   
Comment by Kaloian Manassiev [ 02/May/19 ]

Based on our discussion some time ago about the value of jscore passthrough tests versus concurrency with failovers, we decided that the targeted concurrency workloads bring more testing value than jscore passthroughs and are also simpler to implement.

Since jack.mulrow already has SERVER-40183 in code review, the importance of fixing the txn_override is less important, so I am making this ticket 4.1 Desired and deprioritizing it over other work.

Comment by Judah Schvimer [ 05/Apr/19 ]

renctan, would you like to make those into two separate tickets?

Comment by Randolph Tan [ 05/Apr/19 ]

Note that the original ticket was specifically about retrying commit, not any op in the transaction.

Comment by Judah Schvimer [ 05/Apr/19 ]

This ticket should also make it so RetryableWritesUtil has the correct list of retryable error codes according to the driver spec. Currently it adds Interrupted (which maybe should be retryable, see SERVER-40493). This doesn't match the shell, which does follow the driver spec, right now.

Comment by Judah Schvimer [ 27/Mar/19 ]

The linked code is definitely gone, and we definitely conform to the driver spec more closely. I do not want to bring this in scope for SERVER-38937, but it may fall out of it.

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