[JAVA-2737] Always set slaveOk for direct connections to replica set members Created: 17/Jan/18  Updated: 28/Oct/23  Resolved: 22/Jan/18

Status: Closed
Project: Java Driver
Component/s: Wire Protocol
Affects Version/s: 3.6.0
Fix Version/s: 3.6.2

Type: Bug Priority: Minor - P4
Reporter: Jeffrey Yemin Assignee: Jeffrey Yemin
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related

 Description   

When an application creates a MongoClient instance that is a direct connection (topology type of "Single" in the parlance of the server selection specification) to a replica set member (e.g. new MongoClient(new ServerAddress("localhost", 27018)), and the read preference mode is "primary", then messages sent to that server via that MongoClient should indicate that the server should execute them regardless of whether the server is the primary member of the replica set.

For OP_QUERY (for MongoDB versions < 3.6), that means settings the slaveOk wire protocol bit.

For OP_MSG (for MongoDB versions >= 3.6), that means including a $readPreference field with mode of "primaryPreferred".



 Comments   
Comment by Githook User [ 22/Jan/18 ]

Author:

{'name': 'Jeff Yemin', 'email': 'jeff.yemin@10gen.com', 'username': 'jyemin'}

Message: JAVA-2737: Change functional test in SingleServerClusterTest so that it can execute on all supported server versions
Branch: 3.6.x
https://github.com/mongodb/mongo-java-driver/commit/a034ec80ea3e1470860432b6ae7f261c5155611f

Comment by Githook User [ 22/Jan/18 ]

Author:

{'name': 'Jeff Yemin', 'email': 'jeff.yemin@10gen.com', 'username': 'jyemin'}

Message: JAVA-2737: Change functional test in SingleServerClusterTest so that it can execute on all supported server versions
Branch: master
https://github.com/mongodb/mongo-java-driver/commit/a1c07f80b5bf3fa44fe5c49e11a0d72498d4d0a1

Comment by Githook User [ 22/Jan/18 ]

Author:

{'name': 'Jeff Yemin', 'email': 'jeff.yemin@10gen.com', 'username': 'jyemin'}

Message: JAVA-2737: Don't include slaveOk or $readPreference for write operations
Branch: master
https://github.com/mongodb/mongo-java-driver/commit/f07936e3ce43718cd3c4ae88155f1ae12df9a7c1

Comment by Githook User [ 22/Jan/18 ]

Author:

{'name': 'Jeff Yemin', 'email': 'jeff.yemin@10gen.com', 'username': 'jyemin'}

Message: JAVA-2737: Change expectations for $readPreference in CommandMonitoringTest
Branch: master
https://github.com/mongodb/mongo-java-driver/commit/0b72c1e84fa83724d0e1dec90f02a2a43b321022

Comment by Githook User [ 22/Jan/18 ]

Author:

{'name': 'Jeff Yemin', 'email': 'jeff.yemin@10gen.com', 'username': 'jyemin'}

Message: JAVA-2737: Always set slaveOk for direct connections to replica set members

Comment by Githook User [ 22/Jan/18 ]

Author:

{'name': 'Jeff Yemin', 'email': 'jeff.yemin@10gen.com', 'username': 'jyemin'}

Message: JAVA-2737: Add functional test
Branch: master
https://github.com/mongodb/mongo-java-driver/commit/cc717fbc889de74b646b8c2290dbc9b8fb531b14

Comment by Githook User [ 22/Jan/18 ]

Author:

{'name': 'Jeff Yemin', 'email': 'jeff.yemin@10gen.com', 'username': 'jyemin'}

Message: JAVA-2737: Don't include slaveOk or $readPreference for write operations
Branch: 3.6.x
https://github.com/mongodb/mongo-java-driver/commit/c8d09062d228968dd070fe3957295a24e4ff7c1c

Comment by Githook User [ 22/Jan/18 ]

Author:

{'name': 'Jeff Yemin', 'email': 'jeff.yemin@10gen.com', 'username': 'jyemin'}

Message: JAVA-2737: Change expectations for $readPreference in CommandMonitoringTest
Branch: 3.6.x
https://github.com/mongodb/mongo-java-driver/commit/baaea7a9f97e2c192fc62a84cf847b5792e7c894

Comment by Githook User [ 22/Jan/18 ]

Author:

{'name': 'Jeff Yemin', 'email': 'jeff.yemin@10gen.com', 'username': 'jyemin'}

Message: JAVA-2737: Always set slaveOk for direct connections to replica set members

Comment by Githook User [ 22/Jan/18 ]

Author:

{'name': 'Jeff Yemin', 'email': 'jeff.yemin@10gen.com', 'username': 'jyemin'}

Message: JAVA-2737: Add functional test
Branch: 3.6.x
https://github.com/mongodb/mongo-java-driver/commit/1b5b59f574080e646aaf4454007551a7f8682c47

Generated at Thu Feb 08 08:57:57 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.