Implement Server Discovery And Monitoring Spec (CXX-366)

[CXX-476] improve handling of "node is recovering" errors Created: 12/Jan/15  Updated: 26/Mar/15  Resolved: 03/Mar/15

Status: Closed
Project: C++ Driver
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Sub-task Priority: Major - P3
Reporter: Adam Midvidy Assignee: Unassigned
Resolution: Won't Fix Votes: 0
Labels: legacy-cxx
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

From SDAM:

"When the client sees a "not master" or "node is recovering" error it MUST replace the server's description with a default ServerDescription of type Unknown. It MUST store useful information in the new ServerDescription's error field, including the error message from the server. Multi-threaded and asynchronous clients MUST request an immediate check of the server, and single-threaded clients MUST request a scan before the next operation. Unlike in the "network error" scenario above, a "not master" or "node is recovering" error means the server is available but the client is wrong about its type, thus an immediate re-check is likely to provide useful information."

currently we handle "isn't master" properly but not "node recovering". We also don't really store the error message from the server, but simply mark it failed.


Generated at Wed Feb 07 21:59:19 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.