[CDRIVER-4718] Transactions executed on a load balancer do not specify a recoveryToken Created: 05/Sep/23 Updated: 28/Oct/23 Resolved: 17/Oct/23 |
|
| Status: | Closed |
| Project: | C Driver |
| Component/s: | Transactions |
| Affects Version/s: | None |
| Fix Version/s: | 1.25.0, 1.24.5 |
| Type: | Bug | Priority: | Unknown |
| Reporter: | Jeremy Mikola | Assignee: | Kevin Albertson |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Description |
SummaryBy design, libmongoc does not pin sessions for transactions executed against a load balanced topology. This is because clients are pooled instead of connections, and each client only maintains a single socket per server (one for the case of a load balancer). Although the rules for pinning in load balancer mode may not apply, rules for the recoveryToken field should apply to both sharded and load balanced topologies. When connected to a load balancer, libmongoc does not appear to ever send a recoveryToken field in outgoing commitTransaction or abortTransaction commands. This was observed when testing the PHP driver with legacy transaction spec tests, which were recently modified to add "load-balanced" to the list of supported topologies for runOn requirements (DRIVERS-2713). According to kevin.albertson@mongodb.com, libmongoc's current behavior is:
This may be indicative of a bug. |
| Comments |
| Comment by Githook User [ 17/Oct/23 ] |
|
Author: {'name': 'Kevin Albertson', 'email': 'kevin.albertson@mongodb.com', 'username': 'kevinAlbs'}Message:
Co-authored-by: Kyle Kloberdanz <kyle.kloberdanz@mongodb.com>
Co-authored-by: Kyle Kloberdanz <kyle.kloberdanz@mongodb.com> |
| Comment by Githook User [ 17/Oct/23 ] |
|
Author: {'name': 'Kevin Albertson', 'email': 'kevin.albertson@mongodb.com', 'username': 'kevinAlbs'}Message:
Co-authored-by: Kyle Kloberdanz <kyle.kloberdanz@mongodb.com>
Co-authored-by: Kyle Kloberdanz <kyle.kloberdanz@mongodb.com> |