- 
    Type:
Improvement
 - 
    Resolution: Done
 - 
    Priority:
Major - P3
 - 
    Affects Version/s: None
 - 
    Component/s: Replication
 - 
    None
 
- 
        None
 
- 
        None
 - 
        None
 - 
        None
 - 
        None
 - 
        None
 - 
        None
 
In systems with non-voting nodes, confirmed w:majority writes might in some circumstances still roll back. This is because rollback is precluded by ensuring that a majority of voting nodes are aware of the write, but w:majority in a system with a high ratio of non-voting to voting nodes might not ensure this.
Conversely, on clusters with a high non-voting to voting ratio, w:majority is really too strong a requirement for committedness. Only the majority of the voting nodes need to respond, to be safe from rollback.
The work of this ticket is to change the meaning of "w:majority" to indicate acceptance of a write from the majority of voting nodes. No built-in write concern will provide the old functionality.
- is depended on by
 - 
                    
SERVER-15060 Raise maximum number of nodes in a replica set
-         
 - Closed
 
 -         
 
- is related to
 - 
                    
SERVER-14308 replace replsets/majority.js with c++ unit tests covering the same functionality
-         
 - Closed
 
 -         
 - 
                    
SERVER-16357 Chunk migration pre-commit write concern should be configurable
-         
 - Closed
 
 -         
 - 
                    
SERVER-16597 Warn if no voting data bearing members
-         
 - Closed
 
 -         
 
- related to
 - 
                    
SERVER-13070 Including arbiters when calculating replica set majority can break balancing / prevents fault-tolerant majority writes
-         
 - Closed
 
 -         
 
- tested by
 - 
                    
SERVER-15764 unit test new majority write behavior in ReplicationCoordinator
-         
 - Closed
 
 -