[SERVER-79600] Simplify the usage of the Recoverable Critical Section, clearing the filtering metadata in all nodes when blocking both reads and writes Created: 02/Aug/23 Updated: 26/Oct/23 |
|
| Status: | Backlog |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Sergi Mateo Bellido | Assignee: | Backlog - Catalog and Routing |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | oldshardingemea, shardingemea-qw | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Assigned Teams: |
Catalog and Routing
|
| Participants: | |
| Story Points: | 2 |
| Description |
|
The Recoverable Critical Section is currently clearing the filtering metadata in secondary nodes, leaving the responsibility of properly handling the filtering metadata on the primary node to the caller. This is error prone, see for example The goal of this ticket is to make this utility safer, clearing the filtering metadata on all nodes as part of blocking reads and writes in contrast to doing it when releasing the Critical Section only in secondary nodes. Whoever takes this ticket should also think about multiversion implications, whether it would be fine to remove the existing code and add the new one or we should keep both for the next versions. |