Hello,
I am evaluating using mongoDb for my application and have a question (regarding version 3.6) -
Assume there is a 11 member replica set, where each node is a voting member and no arbitrary 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 (although j:true implies that updates will be written to the journal and NOT on disk data files as per https://docs.mongodb.com/manual/reference/write-concern/#writeconcern.j).
If 5 nodes fail (all having the write w1 mentioned above) at the same time including the primary, only one of the remaining 6 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 6 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?
Thanks,
Aseem
I am evaluating using mongoDb for my application and have a question (regarding version 3.6) -
Assume there is a 11 member replica set, where each node is a voting member and no arbitrary node is present. For a
write w1, Usingj=trueandw:majoritywould ensure that a write is written to the journal and let's assume to the disk also after the default time interval (although j:true implies that updates will be written to the journal and NOT on disk data files as per https://docs.mongodb.com/manual/reference/write-concern/#writeconcern.j).