[SERVER-4481] Assertion failure in Replica Set IP address change Created: 13/Dec/11 Updated: 04/Apr/23 Resolved: 16/Dec/11 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | 2.0.1 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Minor - P4 |
| Reporter: | Andrew Levy | Assignee: | Kristina Chodorow (Inactive) |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
centos 5.5 x86_64 |
||
| Participants: |
| Description |
|
I'm using hostnames, not IPs, for my replica sets. I recently upgraded a secondary server in a replica set, and the underlying IP address changed. I updated the hosts files on all my boxes, except I forgot to update the host file on the secondary itself (which had an entry for itself pointing to the old IP address). I added the secondary to the set before I caught my mistake, and it ended up crashing with this error: Tue Dec 13 04:39:07 [rsMgr] replset msgReceivedNewConfig version: version: 13 — (repeats) When I noticed the host file error, I updated it correctly. I attempted to restart with the --repair flag but got repeated entries of this in the log: — Tue Dec 13 04:44:37 [initandlisten] warning: ClientCursor::yield can't unlock b/c of recursive lock ns: local.oplog.rs top: { opid: 8, active: true, waitingForLock: false, secs_running: 0, op: "getmore", ns: — (repeats) I killed the mongod process again, restarted without the flag. This time it repaired and was successfully added back to the set. |
| Comments |
| Comment by Kristina Chodorow (Inactive) [ 13/Dec/11 ] |
|
You should still repair, try restarting it:
Keep in mind that repair removes corruption, not fixes it, so you may end up with less on your secondary. You might want to resync it or restore from a backup. In the future, you might want to turn on journaling, which will eliminate this problem altogether. |