Some more findings:
States that using majority write concern leads to described behaviour.
Unless I misunderstand it says more-or-less that PSA will have default write concern of 1 (voting majority is 2, data-bearing node - 2) which is what I need, but it seems to behave like “majority”.
A couple of query results that might be of use:
db.adminCommand(
{
getDefaultRWConcern: 1 ,
inMemory: false
}
)
{
“defaultReadConcern” : {
“level” : “local”
},
“defaultWriteConcern” : {
“w” : 1,
“wtimeout” : 0
},
…
}
And below is excerpts from rs.config():
{
“members” : [
{
“_id” : 4,
“host” : “host1:27017”,
“arbiterOnly” : false,
“buildIndexes” : true,
“hidden” : false,
“priority” : 1.0,
“tags” : {},
“secondaryDelaySecs” : NumberLong(0),
“votes” : 1
},
{
“_id” : 8,
“host” : “host2:27017”,
“arbiterOnly” : false,
“buildIndexes” : true,
“hidden” : false,
“priority” : 1.0,
“tags” : {},
“secondaryDelaySecs” : NumberLong(0),
“votes” : 1
},
{
“_id” : 9,
“host” : “arbiter:27017”,
“arbiterOnly” : true,
“buildIndexes” : true,
“hidden” : false,
“priority” : 0.0,
“tags” : {},
“secondaryDelaySecs” : NumberLong(0),
“votes” : 1
}
],
“protocolVersion” : NumberLong(1),
“writeConcernMajorityJournalDefault” : true,
“settings” : {
“chainingAllowed” : true,
“heartbeatIntervalMillis” : 2000,
“heartbeatTimeoutSecs” : 10,
“electionTimeoutMillis” : 10000,
“catchUpTimeoutMillis” : 60000,
“catchUpTakeoverDelayMillis” : 30000,
“getLastErrorModes” : {},
“getLastErrorDefaults” : {
“w” : 1,
“wtimeout” : 0
}
}
}
writeConcernMajorityJournalDefault being true looks curious, but seems like it shouldn’t be affecting the issue. Still, I’ll try turning it off and going over the process again.