[DRIVERS-1644] Clarify Rationale for "Half-Closed" pool state in CMAP. Created: 01/Nov/19  Updated: 23/Jan/23

Status: Backlog
Project: Drivers
Component/s: CMAP
Fix Version/s: None

Type: Spec Change Priority: Major - P3
Reporter: Daniel Aprahamian (Inactive) Assignee: Patrick Freed
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

When SDAM determines that a pool must be closed:

  • A "PoolClosed" event is emitted
  • The pool is changed to a "closed" state where
    • All idle connections must be immediately destroyed
    • Any checked out connections are NOT destroyed until they are checked back in
    • Any checked in connection is immediately destroyed.

Clarify the rationale for this decision.
 



 Comments   
Comment by Patrick Freed [ 23/Jan/23 ]

Moving back into the backlog as the PR is very stale and has been closed at this point.

Note that rationale for the decision at least to not close in-use connections by default in the pool's close method can be found in the comments of DRIVERS-1047 and NODE-3263. If this ticket gets picked up again, that rationale can be incorporated into the spec.

Relatedly, DRIVERS-1707 introduced the capability to forcibly close in-use connections during pool.clear() under certain circumstances.

Comment by Patrick Freed [ 28/Sep/20 ]

This ticket has already been started and is somewhat close to completion, so I'll pick up where Dan left off and make the final edits to get it merged.

Comment by Daniel Aprahamian (Inactive) [ 05/Nov/19 ]

https://github.com/mongodb/specifications/pull/682

Generated at Thu Feb 08 08:23:46 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.