[SERVER-54616] Rewrite ReshardingTxnCloner::_updateSessionRecordsUntilPipelineExhausted to not use recursion Created: 18/Feb/21  Updated: 29/Oct/23  Resolved: 24/Feb/21

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: None
Fix Version/s: 4.9.0

Type: Bug Priority: Major - P3
Reporter: Randolph Tan Assignee: Max Hirschhorn
Resolution: Fixed Votes: 0
Labels: PM-234-M3, PM-234-T-config-txn-clone
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Related
is related to SERVER-52921 Integrate config.transactions cloner ... Closed
is related to SERVER-54408 Rewrite AsyncTry-until to not use fut... Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Sprint: Sharding 2021-03-08
Participants:
Linked BF Score: 41
Story Points: 1

 Description   

In order to avoid hitting the max future recursion invariant. Another potential candidate to rewrite is ReshardingTxnCloner::_checkOutAndUpdateSession, but it is not as important since it will has a max recursion depth of 1.



 Comments   
Comment by Githook User [ 24/Feb/21 ]

Author:

{'name': 'Max Hirschhorn', 'email': 'max.hirschhorn@mongodb.com', 'username': 'visemet'}

Message: SERVER-54616 Rewrite ReshardingTxnCloner::run() using AsyncTry.
Branch: master
https://github.com/mongodb/mongo/commit/4e8826956fb2fa231a31d7c9ededebfccd564d89

Comment by Max Hirschhorn [ 20/Feb/21 ]

I think we should change ReshardingTxnCloner to use AsyncTry and do no recursion itself now that SERVER-54408 has landed to avoid the kMaxDepth invariant. The style for it can be modeled off of what is being done in ReshardingCollectionCloner::run().

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