[SERVER-73967] Update handling of create command in shouldRetryWithNetworkErrorOverride Created: 13/Feb/23 Updated: 24/Aug/23 |
|
| Status: | Blocked |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Kaitlin Mahar | Assignee: | Backlog - Storage Execution Team |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Assigned Teams: |
Storage Execution
|
||||||||||||
| Sprint: | Execution Team 2023-05-01 | ||||||||||||
| Participants: | |||||||||||||
| Description |
|
In jstests/libs/override_methods/network_error_and_txn_override.js, there is logic in the shouldRetryWithNetworkErrorOverride method such that, in the case where a create command returns an ok: 0 response with the NamespaceExists error code, the error is swallowed and ok: 1 is returned. With the create command becoming idempotent on mongos as of The current behavior causes issues in test cases added in Along with updating the override logic, we should remove the does_not_support_stepdowns tag from jstests/core/views/view_creation.js and jstests/core/ddl/create_collection.js. |
| Comments |
| Comment by Dianna Hohensee (Inactive) [ 26/Apr/23 ] | ||||||||||||||||||||||||||||||||||||||||||||
|
This work will need to be rescheduled for post 8.0, assuming | ||||||||||||||||||||||||||||||||||||||||||||
| Comment by Dianna Hohensee (Inactive) [ 26/Apr/23 ] | ||||||||||||||||||||||||||||||||||||||||||||
|
I don't think this work can be done yet, because the create command doesn't appear to be idempotent for time-series collections. Relevant test failure details (notice that the original command included is a create for a time-series collection, then the error is because there's a time-series view on a buckets collection – the error doesn't realize it's time-series)
This test failure is possible because the test ran in replica_sets_terminate_primary_jscore_passthrough, where the primary was stepped down causing an InterruptedDueToReplStateChange error and the create command is retried.
This is the test failure line. And this is the create command error. |