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

Remove completionFuture from PrimaryOnlyService machinery

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 4.8.0
    • None
    • None
    • None
    • Fully Compatible
    • Service arch 2020-10-05

    Description

      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.

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: