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

Client Side Operations Timeout

    • Type: Icon: Epic Epic
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Retryability
    • Labels:
      None
    • Hide
      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?
      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?
    • 15.5
    • 14.5
    • 22
    • 100
    • Hide

      Engineer(s): Warren James, Durran Jordan

      2024-04-15:

      • Last two weeks
        • Timeout primitives needed for CSOT design completed, implementation is in progress.
        • Some unplanned OOO office time.
      • Next two weeks:
        • CSOT primitive implementation will to complete
        • Being implementation of CSOT in the different portion of the driver.

      Engineer(s): Warren James, Durran Jordan

      2024-03-28: No change to target end date

      • What was completed over the last two weeks?
        • Reached a conclusion on the direction we're taking to plumb some of the state down to enable the CSOT work to proceed
      • What's the focus over the next two weeks?
        • Implementation of the work to get the required state where it needs to be in the driver
        • Implementation of the CSOT spec

      2024-03-15: Setting end date to 2024-05-10

      • Work paused, resuming next week

      2024-02-02: No change to target end date

      • Last two weeks:
        • Updated design document is nearly finished review
        • Fixed a RTT-related bug related to CSOT
        • Focused on other tasks the rest of the time
      • Next up:
        • Adding minRoundTripTime to the ServerDescription
        • CSOT will be paused briefly to focus on OIDC and some BSON perf work

      2024-01-19: See Risk

      • Last two weeks:
        • CSOT testing setup
        • Implement Unified Runner operations
        • PoC operation context and timeout controller factory
      • Next up:
        • Implement prose tests
        • Fix heartbeat duration measurement
      • Risks:
        • Refactor took longer than expected, but there is a clear path forward for implementation with Neal’s POC. Estimated another 11 wks

      2024-01-01: See Risk

      • Last two weeks:
        • Removed MessageStream abstraction from the connection layer
        • Removed controller overwrite in Connection.sendCommand
      • Next up:
        • Add CSOT support across the driver
        • Deprecate and remove legacy timeout handling code
      • Risks:
        • Refactor took longer than expected, but there is a clear path forward for implementation. Will extend past January 12th - decide on new target end date post-New Years

      2023-12-08: On track for Jan 12

      • Last two weeks:
        • Merged first half of changes to the connection layer, second half in progress
      • Next up:
        • Gather perf numbers to finalize switchover to the new connection layer
        • Switch driver over to new implementation layer after perf analysis to ensure no/minimal user impact
      • Risks/Notes:
        • None right now, but keeping a close eye on what the performance numbers reveal
          • Expect any followup work from this (if any) to be minimally-challenging
        • Acknowledging that the connection layer refactors became a precursor dependency to accomplishing CSOT
          • In hindsight, this would've been much better to have been broken out into a separate Epic that CSOT was blocked on
          • Regardless of CSOT's dependency, this connection layer refactor will provide value on its own by enabling us to eventually deliver additional connection layer capabilities in the future (e.g. async stack traces)

      2023-11-28: On track for Jan 12

      • Project resumed after being on hold for a few weeks
      • Working on removing the MessageStream abstraction from the connection layer

      Engineer(s): Bailey Pearson

      2023-10-30: On track for Jan 12

      • Project on hold until mid-November, as Bailey rotates onto the DevTools team for Q4.
      • The first CSOT refactors were started, are in a place to be picked back up in the next few weeks.

      Engineer(s): Bailey Pearson

      2023-10-16: Target date updated to Jan 12

      • Target date reflects estimates in the design, dependent on the finalization of the team’s Q4 plan
      • Team has agreed on the design and implementation started last week
      • Will begin a preliminary refactor of the connection layer

      Engineer(s): Bailey Pearson

      2023-09-29: Target date as risk

      • Target date at risk due to interrupts (such as the langchain integration last week) and overall complexity. Will adjust the end date appropriately after the Design has been finalized.
      • Design is just about ready for Team Review.
      Show
      Engineer(s): Warren James, Durran Jordan 2024-04-15: Last two weeks Timeout primitives needed for CSOT design completed, implementation is in progress. Some unplanned OOO office time. Next two weeks: CSOT primitive implementation will to complete Being implementation of CSOT in the different portion of the driver. Engineer(s): Warren James, Durran Jordan 2024-03-28: No change to target end date What was completed over the last two weeks? Reached a conclusion on the direction we're taking to plumb some of the state down to enable the CSOT work to proceed What's the focus over the next two weeks? Implementation of the work to get the required state where it needs to be in the driver Implementation of the CSOT spec 2024-03-15: Setting end date to 2024-05-10 Work paused, resuming next week 2024-02-02: No change to target end date Last two weeks: Updated design document is nearly finished review Fixed a RTT-related bug related to CSOT Focused on other tasks the rest of the time Next up: Adding minRoundTripTime to the ServerDescription CSOT will be paused briefly to focus on OIDC and some BSON perf work 2024-01-19: See Risk Last two weeks: CSOT testing setup Implement Unified Runner operations PoC operation context and timeout controller factory Next up: Implement prose tests Fix heartbeat duration measurement Risks: Refactor took longer than expected, but there is a clear path forward for implementation with Neal’s POC. Estimated another 11 wks 2024-01-01: See Risk Last two weeks: Removed MessageStream abstraction from the connection layer Removed controller overwrite in Connection.sendCommand Next up: Add CSOT support across the driver Deprecate and remove legacy timeout handling code Risks: Refactor took longer than expected, but there is a clear path forward for implementation. Will extend past January 12th - decide on new target end date post-New Years 2023-12-08: On track for Jan 12 Last two weeks: Merged first half of changes to the connection layer, second half in progress Next up: Gather perf numbers to finalize switchover to the new connection layer Switch driver over to new implementation layer after perf analysis to ensure no/minimal user impact Risks/Notes: None right now, but keeping a close eye on what the performance numbers reveal Expect any followup work from this (if any) to be minimally-challenging Acknowledging that the connection layer refactors became a precursor dependency to accomplishing CSOT In hindsight, this would've been much better to have been broken out into a separate Epic that CSOT was blocked on Regardless of CSOT's dependency, this connection layer refactor will provide value on its own by enabling us to eventually deliver additional connection layer capabilities in the future (e.g. async stack traces) 2023-11-28: On track for Jan 12 Project resumed after being on hold for a few weeks Working on removing the MessageStream abstraction from the connection layer Engineer(s): Bailey Pearson 2023-10-30: On track for Jan 12 Project on hold until mid-November, as Bailey rotates onto the DevTools team for Q4. The first CSOT refactors were started, are in a place to be picked back up in the next few weeks. Engineer(s): Bailey Pearson 2023-10-16: Target date updated to Jan 12 Target date reflects estimates in the design, dependent on the finalization of the team’s Q4 plan Team has agreed on the design and implementation started last week Will begin a preliminary refactor of the connection layer Engineer(s): Bailey Pearson 2023-09-29: Target date as risk Target date at risk due to interrupts (such as the langchain integration last week) and overall complexity. Will adjust the end date appropriately after the Design has been finalized. Design is just about ready for Team Review.


      DRIVERS Ticket Description
      Script Target - If you can read this text, the script has failed

            Assignee:
            warren.james@mongodb.com Warren James
            Reporter:
            backlog-server-pm Backlog - Core Eng Program Management Team
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              30 weeks, 2 days