-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
Retryable reads spec requires that if, when retrying, the chosen server does not support sessions, that the original exception is raised immediately. Currently retry code does not handle server selection, and the method being retried does. In order to support retryable writes server selection must be moved to the read_with_retry method.
This change creates an issue with the legacy getMore retries because those are done on the same server, and now different attempts may receive a different server. Since the retryable writes spec prohibits getMore retries altogether, due to potential for silent data loss, the suggested path forward is to not retry getMore in legacy mode either.
- links to