[SERVER-66479] Create an error label indicating if a retryable error is "definite". Created: 16/May/22  Updated: 29/Oct/23  Resolved: 15/Jun/22

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

Type: Improvement Priority: Major - P3
Reporter: Matthew Russotto Assignee: Brett Nawrocki
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
is depended on by SERVER-66116 Aborted Read with MongoNotPrimaryExce... Blocked
is depended on by DRIVERS-2327 Propagate Original Error for Write Er... Implementing
is depended on by TOOLS-3136 Investigate changes in SERVER-66479: ... Closed
is depended on by TOOLS-3146 Investigate changes in SERVER-66479:... Closed
Documented
is documented by DOCS-15399 [Server] Investigate changes in SERVE... Closed
Problem/Incident
Related
is related to SERVER-69295 Mongos NoWritesPerformed errors MUST ... Backlog
Backwards Compatibility: Minor Change
Backport Requested:
v6.0, v5.3, v5.0, v4.4
Sprint: Sharding NYC 2022-05-30, Sharding NYC 2022-06-13
Participants:
Linked BF Score: 135

 Description   

Some errors from mongodb indicate that an operation was definitely not performed; This includes the retriable error NotWritablePrimary. Other errors indicate the operation may or may not have been performed, or partially performed in the case of non-transactional multi- or bulk- writes. For the purpose of returning the most informative error from the driver in a retriable write situation, we should have a label indicating the error is "definite" – that is, no writes were performed.



 Comments   
Comment by Githook User [ 15/Jun/22 ]

Author:

{'name': 'Brett Nawrocki', 'email': 'brett.nawrocki@mongodb.com', 'username': 'brettnawrocki'}

Message: SERVER-66479 Fix write latency performance regression

The original commit for this ticket passed the incorrect value for
lastOpBeforeRun to ServiceEntryPointMongod::Hooks::waitForWriteConcern()
which caused a significant increase in write latency. This commit will
pass the correct value.
Branch: master
https://github.com/mongodb/mongo/commit/3177c921b7325326812ff4bda828fa6c6646e62d

Comment by Githook User [ 07/Jun/22 ]

Author:

{'name': 'Brett Nawrocki', 'email': 'brett.nawrocki@mongodb.com', 'username': 'brettnawrocki'}

Message: SERVER-66479 Add NoWritesPerformed error label
Branch: master
https://github.com/mongodb/mongo/commit/612dc47958777d5ca69216359cfe34c06bc66c64

Comment by Cristopher Stauffer [ 17/May/22 ]

This ticket has been linked as blockers for DRIVERS-2327 and SERVER-66116, and will be targeted for an upcoming release. Once the label is available, we can enable clients to recognize and respond differently based on the label value. 

Comment by Bruce Lucas (Inactive) [ 17/May/22 ]

Would it be useful for the indication to have 3 states - all, some, none? And/or to have a number indicating how many writes were done?

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