[SERVER-48456] Don't clear filtering metadata in secondaries when entering critical section Created: 27/May/20 Updated: 06/Dec/22 Resolved: 29/Jul/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Randolph Tan | Assignee: | [DO NOT USE] Backlog - Sharding Team |
| Resolution: | Incomplete | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Assigned Teams: |
Sharding
|
||||||||
| Participants: | |||||||||
| Description |
|
Currently, we clear the secondary filtering metadata when it reaches the point when primary reaches the critical section. It then tries to wait for primary critical section, and wait for it's replication to reach that opTime. Another alternative is to instead have an oplog to inform the secondaries that the donor shard has bumped the shard version. It has to do this properly both during migration commit and migration recovery during step up. Note: will probably need something like an extra field to ensure that behavior is backwards compatible. |