[SERVER-59495] Update recipient state machine depending on featureFlagSliceMerge Created: 20/Aug/21  Updated: 29/Oct/23  Resolved: 09/Nov/21

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

Type: Task Priority: Major - P3
Reporter: A. Jesse Jiryu Davis Assignee: Suganthi Mani
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-61288 idl_check_compatibility.py parses old... Closed
depends on SERVER-61129 Recipient state machine changes for M... Closed
is depended on by SERVER-61128 Implement voteCommitMergeProgress com... Closed
is depended on by SERVER-61581 Determine TenantMigration{Donor,Recip... Closed
is depended on by SERVER-63397 Abort all donor index builds Closed
Problem/Incident
causes SERVER-61272 Coverity analysis defect 121076: Unin... Closed
causes SERVER-61226 Dead code in shard_merge_enabled.js Closed
Backwards Compatibility: Fully Compatible
Sprint: Server Serverless 2021-09-27, Server Serverless 2021-10-04, Server Serverless 2021-10-11, Server Serverless 2021-10-18, Server Serverless 2021-10-25, Server Serverless 2021-11-01, Server Serverless 2021-11-15
Participants:
Linked BF Score: 182

 Description   

Add a "protocol" field with a string value of either "multitenant migration" or "slice merge". We initially choose a protocol based on whether slice merge is enabled (see above), then persist this choice in the state machine and use the state machine to determine the protocol in later steps.
Make tenant id optional (if Merge is enabled it must be absent, otherwise it must be a string).

UPDATE: This ticket does the following things.
1) Update donor state machine depending on featureFlagSliceMerge (SERVER-59494)
2) Update recipient state machine depending on featureFlagSliceMerge (SERVER-59495)
3) Add protocol & tenant id optional in recipientSyncData command. (SERVER-59787)



 Comments   
Comment by Githook User [ 09/Nov/21 ]

Author:

{'name': 'Suganthi Mani', 'email': 'suganthi.mani@mongodb.com', 'username': 'smani87'}

Message: SERVER-59495 Donor and recipient tenant migration state machines will persist the migration protocol info and tenantId info will be an empty string for 'Merge' protocol."
Branch: master
https://github.com/mongodb/mongo/commit/7f89e2f0ed594e2c570c7d0ea31d4e887a608653

Comment by Githook User [ 04/Nov/21 ]

Author:

{'name': 'Gregory Wlodarek', 'email': 'gregory.wlodarek@mongodb.com', 'username': 'GWlodarek'}

Message: Revert "SERVER-59495 Donor and recipient tenant migration state machines will persist the migration protocol info and tenantId info will be an empty string for 'Merge' protocol."

This reverts commit bbc96fbba2deaac539165bcd86bbdaf6037f41dd.
Branch: master
https://github.com/mongodb/mongo/commit/e47af06d2f144eab78746daac71005bbb73e69f4

Comment by Githook User [ 02/Nov/21 ]

Author:

{'name': 'Suganthi Mani', 'email': 'suganthi.mani@mongodb.com', 'username': 'smani87'}

Message: SERVER-59495 Donor and recipient tenant migration state machines will persist the migration protocol info and tenantId info will be an empty string for 'Merge' protocol.
Branch: master
https://github.com/mongodb/mongo/commit/bbc96fbba2deaac539165bcd86bbdaf6037f41dd

Comment by Githook User [ 25/Oct/21 ]

Author:

{'name': 'Suganthi Mani', 'email': 'suganthi.mani@mongodb.com', 'username': 'smani87'}

Message: Revert "SERVER-59495 Donor and recipient tenant migration state machines will persist the migration protocol info and tenantId info will be an empty string for 'Merge' protcol."

This reverts commit 56a5ddbf5a2ba92169e81ec24f9387c5fe1c0931.
Branch: master
https://github.com/mongodb/mongo/commit/99f4696e26b26a33902067d2f3b71b053413b4ab

Comment by Githook User [ 23/Oct/21 ]

Author:

{'name': 'Suganthi Mani', 'email': 'suganthi.mani@mongodb.com', 'username': 'smani87'}

Message: SERVER-59495 Donor and recipient tenant migration state machines will persist the migration protocol info and tenantId info will be an empty string for 'Merge' protcol.
Added a new optional "protocol" field to 'recipientSyncData' cmd & made 'tenantId' field as optional.
Branch: master
https://github.com/mongodb/mongo/commit/56a5ddbf5a2ba92169e81ec24f9387c5fe1c0931

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