[Date Prev][Date Next] [Chronological] [Thread] [Top]

Replication problem with specific perldap methods?



I've been battling this problem for 2 days now. Here's what I've concluded:

Equipment used:

1 Master (Stock Redhat Linux 6.2) with openldap 1.2.11 compiled frrom source

2 Slaves (1 - Stock Redhat Linux 6.1 with openldap 1.2.11 rpm, and 1 E250 Solaris 8, openldap 1.2.11 compiled from source)

I mostly use the java based LDAP Browser 2.8 (http://www-unix.mcs.anl.gov/~gawor/ldap/) to manage the master. When making changes to the master, I have verified that all changes are being properly replicated on the two slaves by connecting to the slaves with the java client and manually verifying all changes. I also tail the replication log file on the master (/usr/tmp/replica/slurpd.replog).

I have been creating a set of web pages using perldap 1.4 to better manage LDAP. The web pages can successfully make changes on the master. The problem is, these changes for the uid I'm changing in ou=people,dc=domain,dc=com dn are NOT replicated onto the slaves, even though I can see the entries flying by while tailing the replication log on the master. All other dn's are replicated. The entries in the replication log look normal, and I don't see any errors.

I've done some testing and have determined that when I do an $entry->setValues('foo', 'bar'), the master updates, but the slaves do not. The replication log shows an attempted "replace" on the entries.

I have since changed the script to do a $entry->remove('foo'),  $conn->update($entry), then an $entry->addValue('foo', 'bar'), followed by another $conn->update($entry). This works! The replication logs show a "delete", then and "add".

I guess my question is, should slurpd replicate,  regardless of how the master is changed? Do I simply not understand?

I have read the openldap docs (somewhat) and I the way understand it, replication should be client agnostic. It's basically up to slapd to write replication information to a file, and up to slurpd to read the file and propagate the changes. Why would a particular update method cause replication to fail?

I've used 3 different clients to query the slaves to make sure the changes are in fact not replicating. I can positively state that the changes are not replicating.

So, I've resorted to asking the list. I have searched the list and have not found any relevant posts.

Thanks in advance.

Daniel Ceregatti