Uploaded image for project: 'Drivers'
  1. Drivers
  2. DRIVERS-2711

Publish TopologyDescriptionChangedEvent on topology close

    • Needed
    • Hide

      Summary of necessary driver changes

      • See spec changes in this commit
      • When a client is closing it SHOULD remove all servers from its TopologyDescription and set its TopologyType to UNKNOWN and emit a TopologyDescriptionChangedEvent that reflects this change

      Commits for syncing spec/prose tests
      (and/or refer to an existing language POC if needed)

      Context for other referenced/linked tickets

      •  
      Show
      Summary of necessary driver changes See spec changes in this commit When a client is closing it SHOULD remove all servers from its TopologyDescription and set its TopologyType to UNKNOWN and emit a TopologyDescriptionChangedEvent that reflects this change Commits for syncing spec/prose tests (and/or refer to an existing language POC if needed) https://github.com/mongodb/specifications/commit/1448ba6eedfa2f16584222e683b427bea07bb085   Context for other referenced/linked tickets  
    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      CDRIVER-4757 Backlog
      CXX-2780 Backlog
      CSHARP-4830 Done 3.1.0
      GODRIVER-3035 Backlog 2.1.0
      JAVA-5229 Backlog
      NODE-5723 Backlog
      MOTOR-1205 Duplicate
      PYTHON-4021 Fixed 4.9
      PHPLIB-1300 Blocked
      RUBY-3344 Backlog
      RUST-1791 Fixed 3.1.0
      $i18n.getText("admin.common.words.show")
      #scriptField, #scriptField *{ border: 1px solid black; } #scriptField{ border-collapse: collapse; } #scriptField td { text-align: center; /* Center-align text in table cells */ } #scriptField td.key { text-align: left; /* Left-align text in the Key column */ } #scriptField a { text-decoration: none; /* Remove underlines from links */ border: none; /* Remove border from links */ } /* Add green background color to cells with FixVersion */ #scriptField td.hasFixVersion { background-color: #00FF00; /* Green color code */ } /* Center-align the first row headers */ #scriptField th { text-align: center; } Key Status/Resolution FixVersion CDRIVER-4757 Backlog CXX-2780 Backlog CSHARP-4830 Done 3.1.0 GODRIVER-3035 Backlog 2.1.0 JAVA-5229 Backlog NODE-5723 Backlog MOTOR-1205 Duplicate PYTHON-4021 Fixed 4.9 PHPLIB-1300 Blocked RUBY-3344 Backlog RUST-1791 Fixed 3.1.0

      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?

            Assignee:
            warren.james@mongodb.com Warren James
            Reporter:
            boris.dogadov@mongodb.com Boris Dogadov
            Shane Harvey Shane Harvey
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: