-
Type:
Bug
-
Resolution: Duplicate
-
Priority:
Major - P3
-
None
-
Affects Version/s: 2.0.1
-
Component/s: Replication
-
None
-
Environment:MongoDB v2.0.1
-
ALL
Create a three-node replica set with nodes a localhost:30000, localhost:30001, and localhost:30002.
Run:
rs.remove("localhost:30001")
Wait for steady state, then:
rs.add("localhost:30001")
This is what you get:
Tue Dec 6 14:18:42 [rsMgr] replSet error unexpected exception in haveNewConfig() : 0 assertion db/repl/rs.cpp:440
Tue Dec 6 14:18:42 [rsMgr] replSet error fatal, stopping replication
Tue Dec 6 14:18:42 [rsMgr] replset msgReceivedNewConfig version: version: 5
Tue Dec 6 14:18:42 [rsMgr] replSet info saving a newer config version to local.system.replset
Tue Dec 6 14:18:42 [rsMgr] replSet saveConfigLocally done
Tue Dec 6 14:18:42 [rsMgr] self doesn't match: 4
Tue Dec 6 14:18:42 [rsMgr] Assertion failure false db/repl/rs.cpp 440
0x57eeb6 0x589d6b 0x7c214b 0x7c32f2 0x7c4080 0x7f5ec5 0x5939f3 0x591d25 0x591383 0x578d0f 0x57adc4 0xaa4560 0x7f17f3d599ca 0x7f17f330870d
mongod(_ZN5mongo12sayDbContextEPKc+0x96) [0x57eeb6]
mongod(_ZN5mongo8assertedEPKcS1_j+0xfb) [0x589d6b]
mongod(_ZN5mongo11ReplSetImpl14initFromConfigERNS_13ReplSetConfigEb+0xadb) [0x7c214b]
mongod(_ZN5mongo7ReplSet13haveNewConfigERNS_13ReplSetConfigEb+0xd2) [0x7c32f2]
mongod(_ZN5mongo7Manager20msgReceivedNewConfigENS_7BSONObjE+0x2e0) [0x7c4080]
mongod(_ZN5boost6detail8function26void_function_obj_invoker0INS_3_bi6bind_tIvNS_4_mfi3mf1IvN5mongo7ManagerENS7_7BSONObjEEENS3_5list2INS3_5valueIPS8_EENSC_IS9_EEEEEEvE6invokeERNS1_15function_bufferE+0x65) [0x7f5ec5]
mongod(_ZNK5boost9function0IvEclEv+0x243) [0x5939f3]
mongod(_ZN5mongo4task6Server6doWorkEv+0x225) [0x591d25]
mongod(_ZN5mongo4task4Task3runEv+0x33) [0x591383]
mongod(_ZN5mongo13BackgroundJob7jobBodyEN5boost10shared_ptrINS0_9JobStatusEEE+0xbf) [0x578d0f]
mongod(_ZN5boost6detail11thread_dataINS_3_bi6bind_tIvNS_4_mfi3mf1IvN5mongo13BackgroundJobENS_10shared_ptrINS7_9JobStatusEEEEENS2_5list2INS2_5valueIPS7_EENSD_ISA_EEEEEEE3runEv+0x74) [0x57adc4]
mongod(thread_proxy+0x80) [0xaa4560]
/lib/libpthread.so.0(+0x69ca) [0x7f17f3d599ca]
/lib/libc.so.6(clone+0x6d) [0x7f17f330870d]
I've been told by Kristina that the issue here is that you must keep the _id the same when you re-add the node at localhost:30001. If that's the case, then the error message in the logs should indicate it. But I'm not sure why this should even be required in the first place. Why would a user of MongoDB have to remember something like that?
- duplicates
-
SERVER-4344 Re-adding former replica set member has to have same _id
-
- Closed
-