Hello list,
TL;DR
With multimaster deltasyncrepl, when the cluster is partitioned (no replication) and conflicting values are added to an entry for a single-valued attribute, after the nodes are reconnected and replication commences, is it expected for all nodes to end up with the same value for the attribute, or is it expected that they may be inconsistent?
The long version:
I'm following test063-delta-multimaster in a local test cluster, with 3 master nodes, and I wanted to confirm that I'm not misunderstanding before moving forward.
The test test063-delta-multimaster breaks replication and does conflicting adds of a single-valued attribute (employeeNumber) with different values on the two nodes. It then restores replication, gives it a bit to replicate, and then confirms that the "filtered" ldif is the same. My confusion is about this filtering.
In the test, it does $LDIFFILTER -s a < $TESTDIR/server$n.out > $TESTDIR/server$n.flt and then compares the filtered files.
Does this simply sort the attributes and values, or does it strip values? Essentially, is this testing that the value of the employeeNumber is the same on both nodes, or is it simply testing that the employeeNumber is present on both nodes?
Thanks!
Zach
Zach Hanson Hart wrote:
Hello list,
TL;DR
With multimaster deltasyncrepl, when the cluster is partitioned (no replication) and conflicting values are added to an entry for a single-valued attribute, after the nodes are reconnected and replication commences, is it expected for all nodes to end up with the same value for the attribute, or is it expected that they may be inconsistent?
All nodes should end up with the same value.
The long version:
I'm following test063-delta-multimaster in a local test cluster, with 3 master nodes, and I wanted to confirm that I'm not misunderstanding before moving forward.
The test test063-delta-multimaster breaks replication and does conflicting adds of a single-valued attribute (employeeNumber) with different values on the two nodes. It then restores replication, gives it a bit to replicate, and then confirms that the "filtered" ldif is the same. My confusion is about this filtering.
In the test, it does $LDIFFILTER -s a < $TESTDIR/server$n.out > $TESTDIR/server$n.flt and then compares the filtered files.
Does this simply sort the attributes and values, or does it strip values? Essentially, is this testing that the value of the employeeNumber is the same on both nodes, or is it simply testing that the employeeNumber is present on both nodes?
You can read the definition of LDIFFILTER in scripts/defines.h. All it does is strip comments and sort attributes. The employeeNumber will be the same on all nodes.
openldap-technical@openldap.org