-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Service Arch
-
Fully Compatible
-
Service Arch 2022-12-26, Service Arch 2022-11-28, Service Arch 2022-12-12, Service Arch 2023-01-09, Service Arch 2023-07-10, Service Arch 2023-07-24, Service Arch 2023-08-07, Service Arch 2023-08-21
Design doc: https://docs.google.com/document/d/1Z5KwY7B-ck8pmea0S7y8ak6y7F5FuF3cP1uLMmTx_r8/
The tags attached to sessions describe clients. This is a layering violation. The main context where we care about tags is in situations where we’re closing collections of Sessions or asking the Session about a property of its associated client in ingress code paths.
We should re-introduce the tags to the Client and handle `kKeepOpen` and `kPending` appropriately for both Client and AsyncClient.
If only one tag is possible at a time after these changes, we should assess whether these tags ought to be replaced by an enum.
- duplicates
-
SERVER-80191 Replace Session tags for internal client with Client bool
- Closed
-
SERVER-80192 Move Session tags into Client
- Closed
-
SERVER-80193 Replace Session tag dependencies with booleans for EgressTagCloser
- Closed
- related to
-
SERVER-55567 Add Client::isInternal() method to abstract a common idiom
- Backlog