[SERVER-76271] Remove OpObserverShardingImpl Dependency on OpObserverImpl Created: 19/Apr/23 Updated: 29/Oct/23 Resolved: 05/Jun/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 7.1.0-rc0 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Matt Kneiser | Assignee: | Benety Goh |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Sprint: | Execution Team 2023-05-29, Execution Team 2023-06-12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Description |
|
OpObserverShardingImpl inherits from OpObserverImpl, yet doesn't override any methods, it also has OpObserverImpl (its parent) aware of and calling into child methods. This breaks many aspects of good design and modularity.
For sharded nodes, OpObserverImpl should be registered and perform its usual behavior explicitly. For the few actual dependencies on OpTime acquisition in OpObserverImpl, OpObserverImpl will call into OpObserverShardingImpl which will no longer be a child class. |
| Comments |
| Comment by Githook User [ 04/Jun/23 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: All the functionnality in this class has been moved to MigrationChunkClonerSourceOpObserver. |
| Comment by Githook User [ 04/Jun/23 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: Co-authored-by: Matt Kneiser <matt.kneiser@mongodb.com> |
| Comment by Githook User [ 04/Jun/23 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: Co-authored-by: Matt Kneiser <matt.kneiser@mongodb.com> |
| Comment by Githook User [ 03/Jun/23 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: |
| Comment by Githook User [ 03/Jun/23 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: |
| Comment by Githook User [ 03/Jun/23 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: |
| Comment by Benety Goh [ 11/May/23 ] |
|
Thanks for the suggestion. We will take that into account as we try to simplify the current structure. The current state is not ideal either. |
| Comment by Kaloian Manassiev [ 10/May/23 ] |
|
Given that we will not have "non-sharded" nodes why bother with decoupling these libraries at all rather than putting them in the same library? |