Uploaded image for project: 'Node.js Driver'
  1. Node.js Driver
  2. NODE-3957

Remove Callback Support in Favor of Pure Async Await in the Public API of the Node Driver

    • Type: Icon: Epic Epic
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 5.0.0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • 0
    • Not Needed
    • Needed
    • 2
    • 2
    • 100
    • Hide

      Engineer: Neal Beeken
      Summary: Remove support for callbacks in the public Node driver API, converting the top driver layer to async/await and to streamline the supporting internal driver logic to use async/await where applicable.

      2023-01-20:

      • Status update:
        • Removed all optional argument handling logic.
        • Working on removing callbacks from all public method signatures and returning type of AbstractCursor's async iterator to AsyncGenerator
      • Rationale for delays:
        • No Delays.
      • Risks:
        • No Risks.
      Show
      Engineer: Neal Beeken Summary: Remove support for callbacks in the public Node driver API, converting the top driver layer to async/await and to streamline the supporting internal driver logic to use async/await where applicable. 2023-01-20: Status update: Removed all optional argument handling logic. Working on removing callbacks from all public method signatures and returning type of AbstractCursor's async iterator to AsyncGenerator Rationale for delays: No Delays. Risks: No Risks.

      Summary

      This project proposes to remove support for callbacks in the public Node driver API, converting the top driver layer to async/await and to streamline the supporting internal driver logic to use async/await where applicable.

      Motivation

      Who is the affected end user?

      Who are the stakeholders?

      How does this affect the end user?

      Are they blocked? Are they annoyed? Are they confused?

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

      Main path? Edge case?

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

      Minor annoyance at a log message? Performance concern? Outage/unavailability? Failover can't complete?

      Is this issue urgent?

      Does this ticket have a required timeline? What is it?

      Is this ticket required by a downstream team?

      Needed by e.g. Atlas, Shell, Compass?

      Is this ticket only for tests?

      Is this ticket have any functional impact, or is it just test improvements?

      Cast of Characters

      Engineering Lead:
      Document Author:
      POCers:
      Product Owner:
      Program Manager:
      Stakeholders:

      Channels & Docs

      Slack Channel

      Scope Document

      Technical Design Document (just an outline of the affected APIs, no design needed for this project - summary of the changes is in the scope doc)

            Assignee:
            neal.beeken@mongodb.com Neal Beeken
            Reporter:
            martin.bajana@mongodb.com Martin Bajana
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: