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

Move VectorClock onto Service and support VectorClockMongos in mongod

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 8.0.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Service Arch
    • Fully Compatible
    • CAR Team 2024-02-05, CAR Team 2024-02-19
    • 172

      The router and shard vector-clocks have some subtle differences, including what is gossiped-out and some behavior-defining virtual function overloads. We should move VectorClock onto Service so that each ClusterRole can have the correct behavior/it's own implementation of vector clock, and link vector_clock_mongos into mongod. We should also take care to ensure that vector_clock_mutable remains unlinked into mongos/the dedicated router, to ensure we don't perform any illegal ticking behavior from the router role.
      An alternative to consider when implementation begins would be to consolidate the implementations, because it's safe to have one vector-clock itself shared between the processes. We just would need to ensure that the existing behavioral differences are maintained when we use the implementation, depending on the role of the user of the VectorClock.

            Assignee:
            pol.pinol@mongodb.com Pol Pinol
            Reporter:
            george.wangensteen@mongodb.com George Wangensteen
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: