[SERVER-33053] Allow unsharded connections to trigger EgressMetadataHook::readReplyMetadata through ShardingConnectionHook Created: 01/Feb/18 Updated: 12/Dec/23 |
|
| Status: | Backlog |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Jack Mulrow | Assignee: | Backlog - Cluster Scalability |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | PM-834, max-triage | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Assigned Teams: |
Cluster Scalability
|
||||||||||||
| Participants: | |||||||||||||
| Description |
|
Currently, ShardingConnectionHook only attaches the reply metadata readers of its egressHook if _shardedConnections is true. For Global Point in Time reads, we want all connections from mongos to check for a "lastCommittedOpTime" field in responses, so we will need to allow for attaching some reply metadata hooks for unsharded connections as well, in particular those from the global connection pool. Notably the replica set monitor currently uses a ScopedDBConnection to send isMaster commands, which uses unsharded connections from the globalConnPool, and it is important to the GPITR design that these commands track lastCommittedOpTimes. |
| Comments |
| Comment by Misha Tyulenev [ 10/Apr/18 ] |
|
Currently storage can not support snapshot that will hold the window that is large enough for lastCommittedOpTime. Keep this task if the things will change by the PM-834 time. |
| Comment by Andy Schwerin [ 02/Feb/18 ] |
|
Will this be a problem for commands that that are sent outside a sharded |