[SERVER-69129] Successive Errors in FailCommand Created: 24/Aug/22  Updated: 21/Aug/23

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

Type: Improvement Priority: Major - P3
Reporter: Preston Vasquez Assignee: Backlog - Replication Team
Resolution: Unresolved Votes: 0
Labels: error-codes, former-quick-wins, retryable-writes
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by RUST-1694 Update retry_write_retryable_write_er... Blocked
Related
is related to DRIVERS-2327 Propagate Original Error for Write Er... Implementing
Assigned Teams:
Replication
Participants:

 Description   

DRIVERS-2327 introduces a problem in test where we need to configure a fail point to raise errors in succession. For instance, consider the following proposed configuration schema:

db.adminCommand({
    configureFailPoint: "failCommand",
    mode: {times: 2},
    data: {
        failCommands: ["insert"],
        errors: [
            {errorCode: 10107, errorLabels: ["RetryableWriteError"]}, 
            {errorCode: 9001, errorLabels: ["RetryableWriteError", "NoWritesPerformed"]}
        ]
    }
);

With the proposed update, if we ran three inserts: the first insert would raise 10107, the second insert would raise 9001, and the third insert would raise no failpoint-configured error.



 Comments   
Comment by Preston Vasquez [ 12/Sep/22 ]

judah.schvimer@mongodb.com AFAIK it is not blocking drivers testing. However, once this ticket is completed drivers that implement asynchronous command monitoring will have a more straight-forward method of implementing the prose test in DRIVERS-2327. That is, instead of mocking a connection dialer, they can simply register the sequential errors before running the test operation.

Comment by Judah Schvimer [ 12/Sep/22 ]

Is this blocking drivers testing?

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