Something odd is happening that I can't pin down. It appears that iMonitor
is able to cause eDirectory communications to fail.

The setup: a three server tree. Two Linux, one Windows. There are several
partitions, all servers hold replicas of all partitions.

The starting point: everything seems to be working fine. ndsrepair -T and
ndsrepair -E report no problems. Looking in iMonitor, no sync errors or
problems are reported, max ring delta is reasonable (~15 seconds or so).
In short, it looks like everything is fine.

The wind up: Use iMonitor on any of these three servers to search for an
object. Go to the object details. So far, so good...

The pitch: Now try to walk the replica ring for this object. The results

Linux server1 to Linux server2: -626 error
Linux server2 to Linux server1: -626 error
Linux server1 to Windows server: -626 error
Linux server2 to Windows server: -626 error
Windows server to Linux server1: -340 error
Windows server to Linux server2: -340 error

After this ndsrepair -T / ndsrepair -E will start reporting -626 errors.
Doing a "set dstrace=*u" will convince it that the server that it
couldn't talk to is now ok again.

So far, I've tried "ndsrepair -N" and repair all network addresses, which
isn't finding any problems. Looking at the servers in iMonitor, the
network address all seem to be correct. Comms itself is ok, as is
evidenced by the fact that sync traffic is working fine

It appears that whatever iMonitor is trying to do when using it to walk
around the replica ring, the result puts an entry in the Bad Address
Cache, so eDirectory stops talking to the other machine for a while. That
part kinda makes sense, I guess, but what I don't understand is why
iMonitor is barfing in the first place.

The only thing I've been able to spot so far is that watching dstrace
+rslv on either of the Linux servers, I see -622 errors being reported
for UDP against the Windows server. TCP works, and that seems to be ok,
so sync works ok.

I see that the Windows server's network address includes both UDP and TCP
addresses. That could account for the -622 error. Maybe it even accounts
for iMonitor having weird things happen between Linux and Windows, but
Linux server to Linux server shouldn't care at all about this.

I've not yet found a way to configure the Windows version of eDirectory
not to use UDP.

Any ideas for where to dig next?

David Gersic
Knowledge Partner

Please post questions in the forums. No support provided via email.
If you find this post helpful, please click on the star below.