-
Type: Bug
-
Resolution: Done
-
Priority: Major - P3
-
Affects Version/s: 1.6.0, 1.6.1, 1.6.2
-
Component/s: Replication
-
None
-
Environment:Ubuntu 10.04.01
-
ALL
net.ipv4.ip_nonlocal_bind=1 is set to use linux-ha/heartbeat. Programs must be able to bind to any ip, even non-existing ones.
However, if that sysctl is in effect, then it breaks replica sets and possible other features.
See util/message.cpp, around line 720:
bool ret = (::bind(sock, addr.raw(), addr.addressSize) == 0);
It is always true in case this sysctl is in effect. So you cannot rs.add(), or rs.initiate() any server.
Another side effect is that it took about four hours to debug, including source downloading and debugging and the error report "bad config - dups?" is absolutely not explanatory.
- is related to
-
SERVER-1515 Find better way to implement HostAndPort::isSelf()
- Closed