[JAVA-3911] Race condition on server description access Created: 16/Dec/20 Updated: 28/Oct/23 Resolved: 06/Jan/21 |
|
| Status: | Closed |
| Project: | Java Driver |
| Component/s: | Cluster Management |
| Affects Version/s: | None |
| Fix Version/s: | 4.2.0 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Jeffrey Yemin | Assignee: | Jeffrey Yemin |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | planned-maintenance-detectable-bug | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Testing has uncovered a race condition, mostly affecting retryable reads and writes, in which the ServerDescription in DefaultServer does not reflect the current state of the ClusterDescription. This server description is used to make decisions on whether to retry the operation, and as a result can make the wrong decision. Specifically, the ServerDescription is in the CONNECTING state even after a successful selection of that server. There are a couple of ways we might fix it:
|
| Comments |
| Comment by Githook User [ 06/Jan/21 ] |
|
Author: {'name': 'jyemin', 'email': 'jeff.yemin@mongodb.com', 'username': 'jyemin'}Message: Fix race condition accessing ServerDescription Further reduce the possibility of introducing a race
|
| Comment by Githook User [ 06/Jan/21 ] |
|
Author: {'name': 'Jeff Yemin', 'email': 'jeff.yemin@mongodb.com', 'username': 'jyemin'}Message: Fix race condition accessing ServerDescription This change guarantees that any operation accessing the ServerDescription
|