-
Type: Sub-task
-
Resolution: Won't Fix
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
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.