Uploaded image for project: 'Drivers'
  1. Drivers
  2. DRIVERS-2413

Involve devs from more drivers on large spec change PRs

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Won't Do
    • Icon: Unknown Unknown
    • None
    • None
    • None
    • Not Needed

    Description

      Summary

      Some spec change PRs could be improved by getting reviewed by devs working on different drivers. People who work on different drivers may have different perspectives on spec changes or may know that a spec change will conflict with they driver they work on. The earlier those devs can give feedback on a spec change the better, especially before a spec change PR is merged. After a PR is merged, it requires more work to change the spec if it's discovered there are issues, frequently requiring a new DRIVERS ticket.

      A proposed fix is to create a tool that automatically assigns reviewers who work on 2-3 randomly selected drivers. We would keep a list of DBX members and what driver(s) they work on and then run the tool for all PRs on the specifications repo.

      Example proposed process for the tool:

      1. Someone opens a PR on the specifications repo.
      2. The tool randomly selects the .NET and C drivers.
      3. The tool randomly selects one person who works on each selected driver.
      4. The tool adds the two selected people as reviewers on the new PR.

      We would still include all spec owners as reviewers.

      Motivation

      Who is the affected end user?

      Drivers devs.

      How does this affect the end user?

      Drivers devs from some teams don't have a chance to provide feedback on PRs until the spec is already merged (e.g. when they're trying to implement the updates in their driver). The spec updates may cause problems with some drivers or could be improved with feedback from devs on some drivers. Providing feedback on the spec changes after the PR is merged is more difficult and often requires a new DRIVERS ticket.

      How likely is it that this problem or use case will occur?

      The likelyhood that particular drivers will have issues with a spec change depends heavily on the changes. For example, many spec change PRs require few driver changes and don't cause any contention. However, spec changes like CSOT have enormous impact on drivers and the impact on drivers varies wildly.

      If the problem does occur, what are the consequences and how severe are they?

      Drivers devs can get stuck attempting to implement a spec change that is very difficult or impossible in their driver. They may have been able to provide feedback to make the spec change more compatible with their driver or language idioms when the spec change was in review.

      Is this issue urgent?

      No.

      Is this ticket required by a downstream team?

      No.

      Is this ticket only for tests?

      No.

      Attachments

        Activity

          People

            Unassigned Unassigned
            matt.dale@mongodb.com Matt Dale
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: