m...@free.fr wrote: > Full_Name: Martin Krzaczek > Version: 2.4.28 > OS: CentOS 5.7 > URL: > Submission from: (NULL) (83.202.204.201) > > > Hello, > > I noticed an issue with "refreshOnly" syncrepl when a large number of records > is > added, updated and deleted. At the end of synchronization the contextCSN is > equal on all servers, but the data is out of synchronization for some deleted > records that remains undeleted on consumer/slave servers. > > Restarting the consumer or forcing a synchronization with "slapd ... -c > 'rid=1,csn=0' " does not help.
This appears to caused by the sessionlog overflowing due to incoming modifies that occur after the refresh operation has begun. I would call this a misconfigured server, since the sessionlog can only ever be useful if you size it large enough to accomodate all of your update traffic. I don't have any plans to fix this issue; fix the server configuration. > > A similar issue was submitted few weeks ago (ITS#7052), but I'm not sure the > problem is the same. > > My configuration : > - CentOS 5.7 + OpenLDAP 2.4.28 + BDB 5.1.29 > (the same issue occurs with CentOS 5.7 + OpenLDAP 2.4.26 + BDB 5.1.25) > - one main provider where all modification operations are performed > - one 'first level' consumer synchronizing data on the main provider > and providing data for 'second level' consumers > - one 'second level' consumer synchronizing data on the 'first level' > consumer/provider > > I tried several combinations of configurations (refreshOnly/refreshAndPersist, > syncprov-sessionlog) and noticed that when refreshOnly mode is used, some > records may be not deleted on consumer/slave servers. The number of undeleted > records varies depending on the configuration. > So with a higher value of "syncprov-sessionlog" (for example 5000 instead of > 500) the number of lost records is reduced. > > I have an application that sequentially (i.e. in a single thread) adds about > 12000 records, modifies about 25000 records and deletes about 1000 records. > Add/update/delete operations are mixed i.e. it is possible a have sequences > such > as add/add/delete/update/update/update/delete/add/... > > With a small amount of records to add/update/delete the synchronization > properly > works without any data loss. > So it seams that if all modifications may be cached and transmitted to > consumers > then deleted records are not lost. > There is no data loss for added and updated records whatever is the number of > operations. > > > Regards, > Martin > > > -- -- Howard Chu CTO, Symas Corp. http://www.symas.com Director, Highland Sun http://highlandsun.com/hyc/ Chief Architect, OpenLDAP http://www.openldap.org/project/