[SERVER-29782] Make AsyncResultsMerger more generic Created: 21/Jun/17  Updated: 06/Dec/22

Status: Backlog
Project: Core Server
Component/s: Replication
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Jason Chan Assignee: Backlog - Replication Team
Resolution: Unresolved Votes: 0
Labels: PM-754, initialSync, neweng, parallelCollectionScan
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Assigned Teams:
Replication
Participants:

 Description   

The AsyncResultsMerger currently has some dependencies that are sharding specific. The goal is to remove those sharding specific dependencies and move the async_results_merger library out of the sharding directory. As part of SERVER-29617, the last piece of sharding logic was removed from the ARM implementation, but there are still a few remnants lying around that make the ARM appear to be a sharding component. For example, the AsyncResultsMerger::RemoteCursorData::getShard method still exists, and the ClusterClientCursorParams::RemoteCursor struct still has a ShardId field. Since the ARM is now used in the Replication system's CollectionCloner as well as for sharded cluster commands, we should get rid of these sharding specific details, so the ARM can continue to be used in a generic fashion. It would additionally be helpful if the code comments were updated as well, to get rid of any sharding specific language.



 Comments   
Comment by Gregory McKeon (Inactive) [ 17/Aug/17 ]

william.schultz can you update this ticket with the current status and then assign to backlog?

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