Assume there is a 7 member replica set, where each node is a voting member and no arbiter node is present. For a write w1
, Using j=true
and w:majority
would ensure that a write is written to the journal and let's assume to the disk also after the default time interval.
If 3 nodes fail (all having the write w1
mentioned above) at the same time including the primary, only one of the remaining 4 nodes has the write w1
. If this node does not get enough votes (say it's overloaded and will not be suitable for role of a primary), and some other node gets all enough votes to become primary, we have basically lost the write w1
.
I know this is a rare case, but it still can happen. So isn't it true that using j= true
and w:majority
also will not assure that the writes are durable?