[SERVER-22783] CSRS catalog manager writes should retry on WriteConcernFailed error Created: 22/Feb/16  Updated: 24/Jan/17  Resolved: 24/Feb/16

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: None
Fix Version/s: 3.2.4, 3.3.3

Type: Bug Priority: Major - P3
Reporter: Kaloian Manassiev Assignee: Kaloian Manassiev
Resolution: Done Votes: 0
Labels: code-and-test
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Backwards Compatibility: Fully Compatible
Operating System: ALL
Backport Completed:
Sprint: Sharding 11 (03/11/16)
Participants:
Linked BF Score: 0

 Description   

The CSRS catalog manager has write retry logic in order to handle transient replication error conditions. We currently do not retry WriteConcernFailed errors and will propagate them back to the caller.

This is visible in some of the continuous stepdown suite failures.



 Comments   
Comment by Githook User [ 25/Feb/16 ]

Author:

{u'username': u'kaloianm', u'name': u'Kaloian Manassiev', u'email': u'kaloian.manassiev@mongodb.com'}

Message: SERVER-22783 Consolidate WriteConcernError parsing

This change consolidates the checking for writeConcernError section to
happen in the ShardRegistry instead of each command doing it separately.
This makes WriteConcernFailed to be an actual error code of the command.

Also cleans up the WCErrorDetail class by removing unnecessarly
functionality.

(cherry picked from commit e7c8e17220ef32befa8673bd776ba381b1911496)
Branch: v3.2
https://github.com/mongodb/mongo/commit/16cf986b4b828f89f251c257ff812d02d77b8468

Comment by Githook User [ 24/Feb/16 ]

Author:

{u'username': u'kaloianm', u'name': u'Kaloian Manassiev', u'email': u'kaloian.manassiev@mongodb.com'}

Message: SERVER-22783 Consolidate WriteConcernError parsing

This change consolidates the checking for writeConcernError section to
happen in the ShardRegistry instead of each command doing it separately.
This makes WriteConcernFailed to be an actual error code of the command.

Also cleans up the WCErrorDetail class by removing unnecessarly
functionality.
Branch: master
https://github.com/mongodb/mongo/commit/e7c8e17220ef32befa8673bd776ba381b1911496

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