[SERVER-62947] Refactor RSM code to remove `ReplicaSetMonitorInterface` Created: 24/Jan/22 Updated: 12/Dec/23 |
|
| Status: | Backlog |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Andrew Witten (Inactive) | Assignee: | Backlog - Cluster Scalability |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | sharding-nyc-subteam2 | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Assigned Teams: |
Cluster Scalability
|
| Participants: | |
| Story Points: | 2 |
| Description |
|
The class hierarchy for RSM looks like `ReplicaSetMonitorInterface -> ReplicaSetMonitor -> StreamableReplicaSetMonitor`. We could refactor the code to remove `ReplicaSetMonitorInterface`. Also, to reduce the need for casting, we should consider adding virtual function `getEventsPublisher` to `ReplicaSetMonitor`. |
| Comments |
| Comment by Lamont Nelson [ 16/Feb/22 ] |
|
We should probably collapse ReplicaSetMonitor and ReplicaSetMonitorInterface into one object and keep the name ReplicaSetMonitor. Most of the external code depends on this name. |