Summary
Currently .NET and Rust drivers (maybe other drivers as well) set topology description to Unknown and emit TopologyDescriptionChangedEvent on closing (before TopologyClosedEvent).
The SDAM logs tests account for that.
The question is whether when TopologyClosedEvent if emitted, should the topology be in up to date state, which Unknown state (all servers are removed by then).
Consider adding this behaviour to SDAM specification for a better topology state management.
For events consistency across all drivers, it would be useful to clarify the desired behaviour on topology close.
If decided that TopologyDescriptionChangedEvent should not be published on topology close, SDAM logging tests need to be updated accordingly.
Motivation
Who is the affected end user?
Drivers
How does this affect the end user?
No known affect
How likely is it that this problem or use case will occur?
Main path
If the problem does occur, what are the consequences and how severe are they?
Events consistency among drivers.
Is this issue urgent?
No
Is this ticket required by a downstream team?
No
Is this ticket only for tests?
Yes, logging tests
Acceptance Criteria
What specific requirements must be met to consider the design phase complete?
- depends on
-
DRIVERS-2875 Support assertions on topologyDescriptionChangedEvent in expectEvents
- Implementing
- is depended on by
-
GODRIVER-2967 Sync SDAM "Topology Lifecycle" with future drivers update
- Backlog
-
DRIVERS-1670 Add log messages to SDAM spec
- Implementing
- is related to
-
DRIVERS-1087 Specify and test SDAM events
- Backlog
- related to
-
NODE-6045 Ensure that the first server heartbeat does not report that it is awaited
- Backlog
- split to
-
CDRIVER-4757 Publish TopologyDescriptionChangedEvent on topology close
- Backlog
-
CXX-2780 Publish TopologyDescriptionChangedEvent on topology close
- Backlog
-
GODRIVER-3035 Publish TopologyDescriptionChangedEvent on topology close
- Backlog
-
JAVA-5229 Publish TopologyDescriptionChangedEvent on topology close
- Backlog
-
NODE-5723 Publish TopologyDescriptionChangedEvent on topology close
- Backlog
-
RUBY-3344 Publish TopologyDescriptionChangedEvent on topology close
- Backlog
-
PHPLIB-1300 Publish TopologyDescriptionChangedEvent on topology close
- Blocked
-
CSHARP-4830 Publish TopologyDescriptionChangedEvent on topology close
- Closed
-
MOTOR-1205 Publish TopologyDescriptionChangedEvent on topology close
- Closed
-
PYTHON-4021 Publish TopologyDescriptionChangedEvent on topology close
- Closed
-
RUST-1791 Publish TopologyDescriptionChangedEvent on topology close
- Closed