[SERVER-59208] Allow retryable write in resharding_replicate_updates_as_insert_delete.js to fail with ShardCannotRefreshDueToLocksHeld Created: 09/Aug/21  Updated: 29/Oct/23  Resolved: 13/Sep/21

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: None
Fix Version/s: 5.0.4, 5.1.0-rc0

Type: Task Priority: Major - P3
Reporter: Max Hirschhorn Assignee: Brett Nawrocki
Resolution: Fixed Votes: 0
Labels: sharding-wfbf-day
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
Backwards Compatibility: Fully Compatible
Backport Requested:
v5.0
Sprint: Sharding 2021-09-20
Participants:
Linked BF Score: 113
Story Points: 1

 Description   

The retryable write to update the shard key value under the new key pattern is implicitly converted into a multi-statement transaction. If the multi-statement transaction fails due to the donor shard not having the routing information for the temporary resharding collection loaded, then mongos won't automatically retry it. ShardCannotRefreshDueToLocksHeld should therefore be considered an acceptable error.



 Comments   
Comment by Vivian Ge (Inactive) [ 06/Oct/21 ]

Updating the fixversion since branching activities occurred yesterday. This ticket will be in rc0 when it’s been triggered. For more active release information, please keep an eye on #server-release. Thank you!

Comment by Githook User [ 22/Sep/21 ]

Author:

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

Message: SERVER-59208 Add acceptable error to sharding test

Add ShardCannotRefreshDueToLocksHeld as acceptable error in
resharding_replicate_updates_as_insert_delete.js for retryable write.

The retryable write to update the shard key value under the new key
pattern is implicitly converted into a multi-statement transaction. If
the multi-statement transaction fails due to the donor shard not having
the routing information for the temporary resharding collection loaded,
then mongos won't automatically retry it.
ShardCannotRefreshDueToLocksHeld is now therefore considered an
acceptable error.

(cherry picked from commit 66bbacb3c8d11e076c9b7e6d2ff29c116bdb42d1)
Branch: v5.0
https://github.com/mongodb/mongo/commit/761655ba05222c04beee2c6b1a3b9bd68ad85a15

Comment by Githook User [ 13/Sep/21 ]

Author:

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

Message: SERVER-59208 Add acceptable error to sharding test

Add ShardCannotRefreshDueToLocksHeld as acceptable error in
resharding_replicate_updates_as_insert_delete.js for retryable write.

The retryable write to update the shard key value under the new key
pattern is implicitly converted into a multi-statement transaction. If
the multi-statement transaction fails due to the donor shard not having
the routing information for the temporary resharding collection loaded,
then mongos won't automatically retry it.
ShardCannotRefreshDueToLocksHeld is now therefore considered an
acceptable error.
Branch: master
https://github.com/mongodb/mongo/commit/66bbacb3c8d11e076c9b7e6d2ff29c116bdb42d1

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