Engineer(s): Neal Beeken
2025-03-28: We are rescoping the project
Engineer(s): Neal Beeken
2025-03-14: Target date updated to 2025-03-28
Known risks or blockers:
- No further risks anticipated.
Completed over the last 2 weeks:
- N/A, project paused due to higher priority work (CA-304 and CI fixes)
Focus over the next 2 weeks:
- Pick up and finish remaining work
Anything else to share?
Engineer(s): Neal Beeken
2025-02-28: Target date updated to 2025-03-14
Known risks or blockers:
- No further risks anticipated.
Completed over the last 2 weeks:
- N/A, project paused due to higher priority work (CA-304)
Focus over the next 2 weeks:
- Pick up and finish remaining work
Anything else to share?
Engineer(s): Neal Beeken
2025-02-14: Target date updated to 2025-02-28
Known risks or blockers:
- No further risks anticipated.
Completed over the last 2 weeks:
- N/A, project paused due to higher priority work
Focus over the next 2 weeks:
- Pick up and finish remaining work
Anything else to share?
Engineer(s): Neal Beeken, Aditi Khare
2025-01-31: Target date updated to 2025-02-07
Known risks or blockers:
- No further risks anticipated.
Completed over the last 2 weeks:
- Finalized resource tracking tests for sockets and timers
- Finalized preventing parallel invocations of close
- Investigated uncaught errors as a part of the new clean up mechanism (difficult to trace but found the source today 01/31)
Focus over the next 2 weeks:
- Completing the implementation of resource clean up upon client close (NODE-6632), putting it into review
Anything else to share?
- Other projects (logging and abortSignal support for cursors) cut into the calendar effort for this project.
Engineer(s): Aditi Khare, Neal Beeken
2025-01-17: Target date set to 1-24-24
Last 2 weeks (1.5 eng weeks):
- The boilerplate to ensure resources remain intact after client.close() was completed, along with ensuring file reads are appropriately interrupted on close.
- The tests for checking our timers and sockets are cleaned up is in review
- Cursor tracking is in review (the client automatically closes any active cursors upon closing the client itself).
Next 2 weeks (1 eng week):
- Review and merge the remaining tests related to resource cleanup and the cursor tracking work
- Thread an abort signal from the client throughout the driver (NODE-6632). This is expected to make all the "resources are cleaned up" tests pass.
Known risks/impediments:
Engineer(s): Aditi Khare
2025-01-02: Target date set to January 17
Last 2 weeks: (1 eng week)
- Added test tooling infrastructure to test resource cleanup and set up testing for socket and file system resource testing
Next 2 weeks:
- Finish setting up integration testing (timers and server-side resource cleanup)
- Add an abort controller to the client and plumb that to every node resource that can be tied to it for cancellation. Add cursor tracking and closing to MongoClient.close()
Known risks/impediments:
Engineer(s): Aditi Khare
2024-12-19: Target date set to January 10
Last 2 weeks:
- The design document and project breakdown was finalized Dec 12.
- The most recent week has been spent defining the integration tests and building up the tooling to support launching the driver in a new process and collecting information about the resources we're going to make sure are released.
Next 2 weeks (1.5 eng weeks):
- Finish working on the integration testing tools and test cases (various complex examples, kms requests, tls file reads etc)
- Add an abort controller to the client and plumb that to every node resource that can be tied to it for cancellation. Add cursor tracking and closing to MongoClient.close()
Known risks/impediments:
- The testing is quite involved, and in the original design, we thought we would just be closing in-use connections. The new approach is more complete and requires more plumbing of a cancel token (generic term for abort signal) than previously thought was necessary, so we are increasing our original estimate by one engineering week.