Uploaded image for project: 'Ruby Driver'
  1. Ruby Driver
  2. RUBY-2026

Keep track of session support via topology objects

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Minor - P4 Minor - P4
    • 2.11.2, 2.12.0.rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Fully Compatible

      Currently when the driver needs to find out whether the deployment supports sessions, it queries the cluster for data bearing nodes and if there aren't any, the driver decides the deployment does not support sessions. This is problematic when, due to failover for example, there are no available servers - even though the deployment in principle supports sessions, there is a time period when the driver considers it not to.

      Since session support does not require network roundtrips, we can track in the cluster, whenever the topology changes, whether the new topology has data bearing servers for determination of session support, and if not use the previous value for session support, on the assumption that most of the time it will be correct. The only time when old value will be wrong is when all nodes in the deployment are taken offline and then downgraded to a server version that does not support sessions.

            Assignee:
            oleg.pudeyev@mongodb.com Oleg Pudeyev (Inactive)
            Reporter:
            oleg.pudeyev@mongodb.com Oleg Pudeyev (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: