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

Remove completionFuture from PrimaryOnlyService machinery

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.8.0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Fully Compatible
    • Service arch 2020-10-05

      Currently PrimaryOnlyService Instances have an _completionPromise and corresponding future that are managed by the machinery as a convenience to implementations. However we are finding that most PrimaryOnlyService implementations have other Promise/Future pairs that they are managing anyway for intermediary states. This makes the value of having a built-in completion future less, and actually increases the complexity in reasoning about the system since the lifetimes of these promises are managed differently. We should consider taking this functionality out of the PrimaryOnlyService::Instance base class and require derived class implementations to manage their own completion future if they require that functionality.

            Assignee:
            spencer@mongodb.com Spencer Brody (Inactive)
            Reporter:
            spencer@mongodb.com Spencer Brody (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: