[SERVER-66147] Passthrough test support for shard merge protocol. Created: 03/May/22  Updated: 29/Oct/23  Resolved: 15/Sep/22

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 6.2.0-rc0

Type: Task Priority: Major - P3
Reporter: Suganthi Mani Assignee: Mathis Bessa
Resolution: Fixed Votes: 0
Labels: shard-merge-milestone-1
Σ Remaining Estimate: Not Specified Remaining Estimate: Not Specified
Σ Time Spent: Not Specified Time Spent: Not Specified
Σ Original Estimate: Not Specified Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-67860 Support causally_consistent passthrou... Closed
Related
related to SERVER-69382 Support multi_stmt_txn passthrough te... Closed
related to SERVER-69664 Investigate the requires_fastcount te... Closed
related to SERVER-68643 Allow shard merge to run any stepdown... Closed
is related to SERVER-68605 Blacklist the tenant migration passth... Closed
is related to SERVER-69034 Shard Merge Passthrough to use collec... Closed
Sub-Tasks:
Key
Summary
Type
Status
Assignee
SERVER-67821 Vanilla passthrough test support for ... Sub-task Closed Mathis Bessa  
Backwards Compatibility: Fully Compatible
Sprint: Server Serverless 2022-06-27, Server Serverless 2022-07-11, Server Serverless 2022-07-25, Server Serverless 2022-08-08, Server Serverless 2022-08-22, Server Serverless 2022-09-05, Server Serverless 2022-09-19
Participants:

 Description   

We should make below existing tenant migration passthrough suites to work with shard merge protocol.
1. tenant_migration_causally_consistent_jscore_passthrough.yml
2. tenant_migration_multi_stmt_txn_jscore_passthrough.yml
3. tenant_migration_jscore_passthrough.yml
4. tenant_migration_kill_primary_jscore_passthrough.yml
5. tenant_migration_terminate_primary_jscore_passthrough.yml
6. tenant_migration_stepdown_jscore_passthrough.yml

In milestone1, shard merge is not robust to restarts/failover (irrespective of donor/recipient). So, as part of this ticket, we should make passthrough suites 1 through 3 to work with shard merge protocol as well. Additionally, passthrough suites 4 through 6 should be disabled on the all feature flag build variant. But, once the milestone 3 (Robustness of shard merge) is complete, we should re-revaluate if we need to re-enable the passthrough suites (4 through 6) for shard merge protocol.

EDIT:

It was decided in this patch to only support the vanilla passthrough (#3) test as a first batch of change and address (#1, #2) in SERVER-67860 and backlisting (4 thru 6) in SERVER-68605

EDIT2:

We are also going to temporary by pass the validate_collection logic which is currently failing due to `fast count (14) does not match number of records (6) for collection`
Fast counts are no longer transactional/atomic with the inserts/deletes they are associated with, so we can have mismatch between fast count and on-disk record count for imported donor collections during a shard merge.
We will re-introduce the validate collection logic in SERVER-61476



 Comments   
Comment by Githook User [ 15/Sep/22 ]

Author:

{'name': 'mathisbessamdb', 'email': 'mathis.bessa@mongodb.com', 'username': 'mathisbessamdb'}

Message: SERVER-66147 add support of vanilla passthrough test for shard merge protocol
Branch: master
https://github.com/mongodb/mongo/commit/55f4d89a5b15ed14d930c7b06cb39e299d886406

Comment by Mathis Bessa [ 19/Aug/22 ]

Edited the description in order to handle the issue with validate_collection which fails due to a race condition causing a mismatch between fast count and on disk record.

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