-
Type: Task
-
Resolution: Won't Do
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Sharding
-
Sharding
Current rough draft implementation:
- Define different message types, each with their own IDL struct.
- Thread all message types to a single swappable ShardPromise of type std::variant<All, Message, Types>
- Use a single mutex to ensure concurrency when emplacing onto or replacing the promise.
- Under mutex, producer threads will: emplace a promise.
- Under mutex, the consumer thread will: pick up the message from the promise, then swap out for a new promise.
This will get us roughly a producer-consumer queue or mailbox of size one.
- is related to
-
SERVER-49900 Update config.localReshardingOperations.recipient.progress_txn_cloner document following each batch of config.transactions cloner
- Closed
-
SERVER-49908 Update config.localReshardingOperations.recipient.progress_applier document following each batch of resharding's oplog application
- Closed