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

Re: Issues with syncrepl and mirrormode

> Pierangelo Masarati wrote:

>> I note that in syncprov_op_response(), if slap_get_commit_csn() can't
>> get
>> a maxcsn, opc->sctxcsn would be set to an empty berval, and this would
>> trigger the above cookie.  I wonder if this is possible at all, and if
>> setting opc->sctxcsn to a NULL berval would just cure the problem.
> I think that will just mask the problem. If you're in an Add operation,
> there
> must be a CSN already. So perhaps we should assert() in
> slap_get_commit_csn
> and find out why it returned without one.

I'm not saying that's where the error occurred, since I couldn't track
what happened.  I'm just looking for places where it could have occurred. 
Note that the add occurred on server 0, while the broken cookie was cooked
on server 1 when the two were playing mirrormode.  So the one acting as
consumer didn't commit anything, and my guess is that for this reason it
hadn't any maxcsn available.

I note that test050 tests mirrormode in refreshOnly; is mirrormode
supposed to work in refreshAndPersist as well?  The test seems to work as


Ing. Pierangelo Masarati
OpenLDAP Core Team

SysNet s.r.l.
via Dossi, 8 - 27100 Pavia - ITALIA
Office:  +39 02 23998309
Mobile:  +39 333 4963172
Email:   pierangelo.masarati@sys-net.it