[SERVER-26908] rc-2 repl set stops being able to fulfill majority write concern Created: 04/Nov/16  Updated: 31/Jan/17  Resolved: 23/Jan/17

Status: Closed
Project: Core Server
Component/s: Replication
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Kay Kim (Inactive) Assignee: Judah Schvimer
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File reproPvDowngradeUpgradeProblem.js    
Issue Links:
Backports
Operating System: ALL
Steps To Reproduce:

1) 3 member repl set (nothing special)
2) mongo shell to primary
3) rs.status()
4)

db.foo.insert( { x: 1 }, { writeConcern: { w: "majority", wtimeout: 2000 } } ) 


was successful
5) c=rs.conf()
6) c.protocolVersion=0
7) rs.reconfig(c)
8) c=rs.status()
9) c=rs.conf()
10) c.protocolVersion=1
11) rs.reconfig(c)
12) rs.status()
13)

db.foo.insert( { x: 1 }, { writeConcern: { w: "majority", wtimeout: 2000 } } )

returns

WriteResult({
	"nInserted" : 1,
	"writeConcernError" : {
		"code" : 64,
		"codeName" : "WriteConcernFailed",
		"errInfo" : {
			"wtimeout" : true
		},
		"errmsg" : "waiting for replication timed out"
	}
})

Sprint: Repl 2017-02-13
Participants:

 Description   

with pv1, I first did

db.foo.insert( { x: 1 }, { writeConcern: { w: "majority", wtimeout: 2000 } } )

and was successful.
Then I reconfig'ed to pv0 and rs.status to see what that returned.
I reconfig'ed back to pv1 and I can no longer do

db.foo.insert( { x: 1 }, { writeConcern: { w: "majority", wtimeout: 2000 } } )

*note* I didn't change writeConcernMajorityJournalDefault during any of my shenanigans.



 Comments   
Comment by Judah Schvimer [ 23/Jan/17 ]

Per our discussion, we are not concerned by this bug and closing as "Won't Fix".

Comment by Spencer Brody (Inactive) [ 08/Dec/16 ]

Judah, please do a RCA so we can understand if the root cause is likely to manifest in any other ways.

Comment by Spencer Brody (Inactive) [ 08/Nov/16 ]

Repro'd on master and 3.2 branch as well.
Confirmed that it doesn't repro unless --enableMajorityReadConcern is passed to the mongods.

Comment by Spencer Brody (Inactive) [ 08/Nov/16 ]

Attaching jstests that repro's the issue

Comment by Spencer Brody (Inactive) [ 08/Nov/16 ]

kay.kim, I wasn't able to repro this - what happens if you turn the wtimeout up a bunch to say 30 seconds, does the issue still happen?

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