[DOCS-12370] Incorrect/unclear definition of majority write concern Created: 16/Jan/19  Updated: 30/Oct/23  Resolved: 20/Mar/19

Status: Closed
Project: Documentation
Component/s: manual, Server
Affects Version/s: None
Fix Version/s: Server_Docs_20231030

Type: Bug Priority: Major - P3
Reporter: Francisco Alanis Assignee: Kay Kim (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Participants:
Days since reply: 4 years, 47 weeks ago
Epic Link: DOCSP-1769

 Description   

Description

Hello,

Under https://docs.mongodb.com/manual/reference/write-concern/index.html, we have the following text regarding write concern of majority:

Requests acknowledgment that write operations have propagated to the majority of data-bearing voting members

In my opinion (and particularly as an ESL speaker), this could be easily interpreted as "out of all data-bearing, voting members, the majority of them should acknowledge the write". In reality, write concern majority refers to something like "out of all voting members (data-bearing or not), a majority of them should acknowledge the write. But it so happens that only data-bearing members can acknowledge writes". This is more relevant in situations where arbiters are involved. For example, in a PSA replica set, with only one data-bearing node going down, majority can't be met (out of 3 members, only one can acknowledge the write because the other one is down and the arbiter is not data-bearing, so it can't acknowledge the write).

More importantly, this distinction can be crucial for environments such as a PSSAA replica set (even though we don't recommend that, users can and do still configure replica sets like that). If we went by the alternative interpretation of "out of all data-bearing, voting members, the majority of them should acknowledge the write", then one data-bearing node going down should not affect majority because out of 3 data-bearing members, 2 can still ack writes. However, in practice, this is not correct: if one data-bearing node goes down, only the other two can acknowledge writes and with only 2 out of a total of 5 voting members being capable of acknowledging writes, a majority write concern can't be satisfied.

I hope this makes clear the importance of the distinction that I think should be made in this documentation page. However, please let me know if you need any further clarification on this and I will be happy to elaborate.

Scope of changes

Impact to Other Docs

MVP (Work and Date)

Resources (Scope or Design Docs, Invision, etc.)



 Comments   
Comment by Githook User [ 20/Mar/19 ]

Author:

{'email': 'kay.kim@10gen.com', 'name': 'Kay Kim', 'username': 'kay-kim'}

Message: DOCS-12370: write concern majority - majority calc
Branch: v3.4
https://github.com/mongodb/docs/commit/d42ec37ff2a872cb0ae34b01f7e51361515e8b2c

Comment by Githook User [ 20/Mar/19 ]

Author:

{'email': 'kay.kim@10gen.com', 'name': 'Kay Kim', 'username': 'kay-kim'}

Message: DOCS-12370: write concern majority - majority calc
Branch: v3.6
https://github.com/mongodb/docs/commit/350875f7a1c300d42b272c3d86f9091e468b8623

Comment by Githook User [ 20/Mar/19 ]

Author:

{'email': 'kay.kim@10gen.com', 'name': 'Kay Kim', 'username': 'kay-kim'}

Message: DOCS-12370: write concern majority - majority calc
Branch: v4.0
https://github.com/mongodb/docs/commit/e568c8a50e7dcc1df2c5868b39704ea7264a1ae7

Comment by Githook User [ 20/Mar/19 ]

Author:

{'name': 'Kay Kim', 'username': 'kay-kim', 'email': 'kay.kim@10gen.com'}

Message: DOCS-12370: write concern majority - majority calc
Branch: master
https://github.com/mongodb/docs/commit/39fb6177d30a63fcfdaf1df7daf9cfd032e27976

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