[CDRIVER-3695] Most recv errors do not increment shared memory counters Created: 30/May/20 Updated: 31/Mar/22 |
|
| Status: | Backlog |
| Project: | C Driver |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Minor - P4 |
| Reporter: | Kevin Albertson | Assignee: | Unassigned |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | neweng | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
mongoc_counter_protocol_ingress_error_inc is called in mongoc_cluster_try_recv to update the shared memory counters when there is an error reading from the application connection. mongoc_cluster_run_command_opquery and mongoc_cluster_run_opmsg do not call this. And the single and multi-threaded monitoring code does not call it either. For deduplicating the network error logic on application connections, it may be good to add an argument to _handle_network_error to indicate whether it is a read or write error, and if it is a read error, call mongoc_counter_protocol_ingress_error_inc. Though monitoring connections will likely need to call this separately. |