Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I noticed something disturbing in our query logs earlier today - some of the queries were incorrectly routed to the primary when using
ReadPreference.SECONDARY
. Eventually, it came to my realization thatread_preference
wasn't working if it was put afterlimit
,skip
, orhint
(and probably some other methods that allow chaining).Note: As of now, the fix only works for pymongo ver < 3.0. I think
read_preference
is completely broken with ver >= 3.0, but I don't have full clarity on the situation yet. It seems thatself._collection.find
doesn't acceptread_preference
as a valid kwarg any more and if I'm reading pymongo's docs right, you can only set read preference on a client/database/collection, not a particular cursor. It doesn't seem to be set either way: