[CSHARP-3048] RetryableWrites are only supported if session Id has a value Created: 08/Apr/20 Updated: 28/Oct/23 Resolved: 13/Apr/20 |
|
| Status: | Closed |
| Project: | C# Driver |
| Component/s: | Write Operations |
| Affects Version/s: | 2.10.3 |
| Fix Version/s: | 2.10.4 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Robert Stam | Assignee: | Robert Stam |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||
| Case: | (copied to CRM) | ||||
| Backwards Compatibility: | Fully Compatible | ||||
| Description |
|
Certain server versions have an issue that can result in some mongos instances reporting a value for `LogicalSessionTimeoutMinutes` in the `isMaster` reply while other instances of mongos do not. The C# driver currently assumes that all mongos instances would be consistent in either reporting or not reporting a value for `LogicalSessionTimeoutMinutes`. When some mongos instances report a `LogicalSessionTimeoutMinutes` and some don't the driver gets confused and retryable writes fail because:
This results in an error from the server: Command insert failed: Transaction number requires a sessionId to be specified. The C# driver needs to workaround this server anomaly by verifying that session Id has a value before attempting a retryable write.
|
| Comments |
| Comment by Githook User [ 13/Apr/20 ] |
|
Author: {'name': 'rstam', 'email': 'robert@robertstam.org', 'username': 'rstam'}Message: |
| Comment by Githook User [ 13/Apr/20 ] |
|
Author: {'name': 'rstam', 'email': 'robert@robertstam.org', 'username': 'rstam'}Message: |