[SERVER-52921] Integrate config.transactions cloner for resharding into RecipientStateMachine Created: 18/Nov/20  Updated: 29/Oct/23  Resolved: 17/Feb/21

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

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

Issue Links:
Depends
depends on SERVER-51493 Revisit how config.transactions clone... Closed
Related
related to SERVER-54616 Rewrite ReshardingTxnCloner::_updateS... Closed
related to SERVER-54626 Retryable writes may execute more tha... Closed
related to SERVER-54681 Resharding recipient shards which are... Closed
related to SERVER-55214 Resharding txn cloner can miss config... Closed
is related to SERVER-52593 Integrate ReshardingOplogFetcher into... Closed
is related to SERVER-52594 Integrate ReshardingOplogApplier into... Closed
Backwards Compatibility: Fully Compatible
Sprint: Sharding 2021-02-22
Participants:
Story Points: 1

 Description   

The RecipientStateMachine should manage a task executor for the config.transaction instances to be scheduled on. This may most easily be achieved by having the cloneConfigTxnsForResharding() function take a TaskExecutor as part of its input and scheduling tasks on the same ScopedTaskExecutor the RecipientStateMachine instance is running on.



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

Author:

{'name': 'Randolph Tan', 'email': 'randolph@10gen.com', 'username': 'renctan'}

Message: SERVER-52921 Integrate config.txn cloner for resharding into RecipientStateMachine
Branch: master
https://github.com/mongodb/mongo/commit/a8f3bbf849f07a0cce8f8703a737653485c41002

Comment by Max Hirschhorn [ 18/Nov/20 ]

This may most easily be achieved by having the cloneConfigTxnsForResharding() function take a TaskExecutor as part of its input and scheduling tasks on the same ScopedTaskExecutor the RecipientStateMachine instance is running on.

I realized after creating this ticket that unlike the ReshardingCollectionCloner, ReshardingOplogFetcher, and ReshardingOplogApplier, each config.transactions cloner is going to need a dedicated thread unless we address the blocking wait it does around prepared transactions. I think integrating the config.transactions cloner into RecipientStateMachine should wait until SERVER-51493 is completed.

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