Engineer(s): Warren James, Neal Beeken, Aditi Khare, Bailey Pearson
2024-10-25: Setting end date to Nov 1
- Last two weeks
- All feature work is now in code review.
- Next two weeks:
- Document the feature and integrate the feature branch with main. (Anticipating 1 week to complete).
- Impediments:
Engineer(s): Warren James, Neal Beeken, Aditi Khare, Bailey Pearson
2024-10-10: Setting end date to Oct. 25
- Last two weeks
- Tailable cursors completed
- CSOT support for FLE almost done
- CSOT support for client bulk write is almost ready to merge
- CSOT support for changestreams
- Next two weeks:
- Merging client bulk write, change streams, FLE this week
- Legacy option deprecation to be done this week
- Start Documentation this week
- Impediments:
- FLE testing has been tricky
- Confusion around intended behavior with changestreams (got alignment to be able to proceed, but new DRIVERS ticket was filed to address that spec contradiction
Engineer(s): Warren James, Neal Beeken, Aditi Khare
2024-09-27: Setting end date to Oct. 10
- Last two weeks
- Finalized tailable cursors (was stalled on open spec questions)
- Finished bulk write implementation
- GridFS implementation (in review)
- Started FLE implementation
- Next two weeks:
- Merge work in review (tailable cursors and FridFS)
- Finish change streams and FLE implementation
- Implement CSOT for new bulk write
- Impediments:
- CI setup failures due to common drivers tooling have slowed down testing.
Engineer(s): Warren James, Neal Beeken
2024-09-13: Setting end date to Oct. 4
- Last two weeks
- Merged session & transactions support
- Merged non-tailable cursor support
- Started on tailable cursors/change streams support
- Next two weeks:
- Finish tailable cursors/change streams support
- GridFS and FLE support
- Impediments:
- Bulk Write API will need CSOT support but the feature is not completed yet.
Engineer(s): Warren James, Neal Beeken
2024-08-30: Setting end date to Sept. 20
- Last two weeks
- CSOT support for sessions and cursors, sessions almost complete
- Next two weeks:
- Expecting to wrap work on sessions and cursors by end of next week
- Expecting to start work on change streams and FLE support
- Impediments:
- Support for CSOT sessions required some unexpected but necessary tech debt refactors that extended the time it took to complete
- Communication with other drivers' CSOT implementers has had some slower round trips than anticipated to clarify spec and testing issues; the sessions work in particular resulted in CSOT spec test changes (DRIVERS-2969)
Engineer(s): Warren James, Neal Beeken
2024-08-16: No change to target end date
- Last two weeks
- Retryability support completed
- CSOT Support for sessions and transactions
- CSOT Support to cursors
- Next two weeks:
- Continue parallel work on sessions and cursors
Engineer(s): Warren James, Neal Beeken
2024-08-02: No change to target end date
- Last two weeks
- CSOT Support for socket read/write
- Enabled running of valid-fail tests
- Next two weeks:
- Continue parallel work on retryability and cursors
- Impediments:
Engineer(s): Warren James, Neal Beeken
2024-07-19: Setting end date to 2024-09-06
- Last two weeks
- Continued working on maxTimeMS logic
- Next two weeks:
- Wrap up maxTimeMS logic
- Resume parallel work on retryability and cursors
- Impediments:
- Driver's connect logic caused issues with timeouts
Engineer(s): Warren James, Durran Jordan, Neal Beeken
2024-07-05:
- Last two weeks
- Wrapped up work on CRUD APIs
- Continued implementation of socket work and retryability
- Next two weeks:
- Provide a clear estimate of the remaining effort
- Prioritise tasks by complexity to get big blockers done first
- Impediments:
- After SSDLC and various PTO, we’re now able to focus more on CSOT. To that effect, we’re shifting priorities and working to parallelise the work more
Engineer(s): Warren James, Durran Jordan
2024-06-21: Setting end date to June 14
- Last two weeks
- Implemented Timeout context abstraction
- Started work on socket timeouts and retryability support
- Next two weeks:
- Wrap up support for CSOT in CRUD APIs and retryability
- Start implementing CSOT for cursors and change streams
Engineer(s): Warren James,
2024-05-24: Setting end date to June 14
- Last two weeks
- No significant changes due to Skunkworks and PTO
- Next two weeks:
- Parallelise work and start implementing CSOT for other parts of the driver
- Impediments
- Wrapping up OIDC is taking longer than expected, taking resources away from this project
Engineer(s): Warren James,
2024-05-10: Setting end date to May 24
- Last two weeks
- CSOT for checkout is in team review
- Next two weeks:
- Parallelise work and start implementing CSOT for other parts of the driver
Engineer(s): Warren James,
2024-04-26:
- Last two weeks
- Investigating performance regression due to timeout changes
- Continuing implementing CSOT for connection checkout
- Next two weeks:
- Wrap up basic implementation
- Implement changes to unified test format to enable CSOT testing
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.