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

Remove completionFuture from PrimaryOnlyService machinery

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.8.0
    • Component/s: None
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Sprint:
      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

          Issue Links

            Activity

              People

              Assignee:
              spencer Spencer Brody (Inactive)
              Reporter:
              spencer Spencer Brody (Inactive)
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: