-
Type:
Task
-
Resolution: Works as Designed
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Replication
-
None
-
RSSD
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Summary
DSC's makeHelloResponse() does not set logicalSessionTimeoutMinutes. The SDAM spec requires that if any server returns null for this field, the driver sets the logical session timeout to null which disables sessions (probably, it technically depends on the drive behavior).
Impact
This would prevent DSC from running sessions (inferred from SDAM spec). This ticket is much lower priority if DSC does not need sessions.
Notes
Per the SDAM spec (Logical Session Timeout):
Whenever a client updates the TopologyDescription from a hello or legacy hello response, it MUST set TopologyDescription.logicalSessionTimeoutMinutes to the smallest logicalSessionTimeoutMinutes value among ServerDescriptions of all data-bearing server types. If any have a null logicalSessionTimeoutMinutes, then TopologyDescription.logicalSessionTimeoutMinutes MUST be set to null.
We need to call setLogicalSessionTimeoutMinutes() in makeHelloResponse().