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

Re: (ITS#7531) Syncrepl push delete operation does not recover when slave is unavailable



Howard,

hyc@symas.com schrieb (14.03.2013 15:14 Uhr):
> hans.moser@ofd-z.niedersachsen.de wrote:

>> I think we had situations like this before...
>>
>> How about having a test for this?
>> What is the test which is nearest to this situation where a test could
>> be based on?
> 
> test045. Feel free to submit patches for this test script.
If I'm not mistaken,
- in lines 262-264 the consumer is stopped
- in lines 266-284 changes are made to the provider
- in lines 286-294 the consumer is started again.

But the changes do
- delete cn=Rosco P. Coltrane, ou=Retired, ou=People, dc=example,dc=com
   (lines 269-270)
- modify cn=Bjorn Jensen, ou=Information Technology Division, ou=People,
   dc=example,dc=com (lines 272-275)
- add cn=Rosco P. Coltrane, ou=Retired, ou=People, dc=example,dc=com
   _again_ (lines 277-282)
So while the consumer is down Coltrane is deleted and added again.
We miss a scenario where an object is still deleted, when the consumer 
is back again.

There is no object, which is not used later on, so we should add a new 
object first:

(before line 239)

dn: cn=Invisible Man, ou=Information Technology Division, ou=People, 
dc=example,dc=com
changetype: add
objectclass: OpenLDAPperson
cn: Invisible Man
sn: Man
uid: invisibleman
description: Ghost

And delete the object while the consumer is down:

(before line 284)

dn: cn=Invisible Man, ou=Information Technology Division, ou=People, 
dc=example,dc=com
changetype: delete


That would do, I think.


Sorry for not patching it myself, I'm not too familiar with it.


Marc