Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-76271

Remove OpObserverShardingImpl Dependency on OpObserverImpl

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 7.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Fully Compatible
    • Execution Team 2023-05-29, Execution Team 2023-06-12

      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.

            Assignee:
            benety.goh@mongodb.com Benety Goh
            Reporter:
            matt.kneiser@mongodb.com Matt Kneiser
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: