Khoa Nguyen wrote:
I have set up delta-syncrepl between provider A and consumer B, and it seems to work ok. Online updates to A are synch'ed to B. However, about once a month, there is a large update which contains hundreds of million records. Online update is going to take days. I tried to bring A offline, do slapdadd, and bring A back online. But these new entries were not synch'ed to B. Is there a way I can make this work?
Delta-syncrepl works by writing a log of all your main database changes into a log database. When you add entries using slapadd, nothing is added to the log database, therefore delta-sync cannot replicate those changes.
You can force a resync by emptying the log database. When a delta-sync consumer tries to connect and the log no longer contains a record of the consumer's last change, it will automatically fallback to regular syncrepl to resync.
Note that since you're talking about new entries, which need to be replicated in whole anyway, delta-syncrepl offers no benefit over regular syncrepl here.
Also, as Buchan pointed out, replicating hundreds of millions of records will take a long time. You're better off just slapadding on both the provider and the consumer.