In a new cluster, deploying from helm I am getting FailedToSatisfyReadPreference
{"t":{"$date":"2021-12-21T02:48:12.339Z"},"s":"I", "c":"NETWORK", "id":4333208, "ctx":"ReplicaSetMonitor-TaskExecutor","msg":"RSM host selection timeout","attr":{"replica
Set":"rs0","error":"FailedToSatisfyReadPreference: Could not find host matching read preference { mode: \"nearest\" } for set rs0"}}
Error: connect failed to replica set rs0/percona-db-psmdb-db-rs0-0.percona-db-psmdb-db-rs0.default.svc.cluster.local:27017,percona-db-psmdb-db-rs0-2.percona-db-psmdb-db-rs0
.default.svc.cluster.local:27017,percona-db-psmdb-db-rs0-1.percona-db-psmdb-db-rs0.default.svc.cluster.local:27017 :
One imageins to configure replsets[0].configuration
which is the custom config for mongod in replica set
according to docs, how could one define ReadPreference
in here to workaround the 4.4 bug I read about in a neighbouring thread. So I am looking at replication.localPingThresholdMs
at https://docs.mongodb.com/manual/reference/configuration-options/ and Read Preference for Replica Sets https://docs.mongodb.com/manual/core/read-preference-mechanics/#std-label-replica-set-read-preference-behavior-member-selection because nearest
option does not seem to work for me, even though primary should be default according to Percona docs.
One cannot help to wonder how these parameters set, would this happen to be correct parameters in values.yaml, i.e.:
replsets:
- name: rs0
size: 3
configuration:
readPreference: primaryPreferred
MongoDB Logs give me:
Unrecognized option: readPreference
I also tried:
configuration: |
replication:
ReadPreference: primaryPreferred
yielding
Unrecognized option: replication.ReadPreference
So I gave up on that and redployed with lower mongo count (2 instead of 3) and now I can connect to the RS. When I want to show all dbs, I get now:
> show dbs
uncaught exception: Error: listDatabases failed:{
"topologyVersion" : {
"processId" : ObjectId("61c27b0b330f6a6fe4fd985c"),
"counter" : NumberLong(1)
},
"ok" : 0,
"errmsg" : "not master and slaveOk=false",
"code" : 13435,
"codeName" : "NotPrimaryNoSecondaryOk"
} :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
Mongo.prototype.getDBs/<@src/mongo/shell/mongo.js:147:19
Mongo.prototype.getDBs@src/mongo/shell/mongo.js:99:12
shellHelper.show@src/mongo/shell/utils.js:943:13
shellHelper@src/mongo/shell/utils.js:825:15
@(shellhelp2):1:1
and then this:
> db.createCollection("test")
uncaught exception: Error: error doing query: failed: network error while attempting to run command 'create' on host 'percona-db-psmdb-db-rs0.default.svc.cluster.local:27017' :