quanah@zimbra.com wrote:
--On Tuesday, September 09, 2008 8:59 PM +0200 Pierangelo Masarati ando@sys-net.it wrote:
I'll give what you suggested a try, but this is still a serious bug.
There's something I don't clearly get. As far as I understand, you are saying that consumers lose sync when the log database is purged before they have a chance to sync (because they were down). I don't see how they could sync, then. Of course, there should be a means for slapo-syncprov(5) to tell that, and force a refresh.
Because the consumer is supposed to do a full refresh if they find their context CSN doesn't match the contextCSN of the master.
Not quite. More precisely, the provider is supposed to tell the consumer that the consumer's cookie is out of date if the cookie is older than anything in the provider, and the consumer asked for the reload Hint. Otherwise the provider just sees the consumer is stale and returns a full dump implicitly.
In plain syncrepl the consumer never asks for the reload hint. In delta-sync the consumer does ask for a reload hint, because that tells it to do a sync from the main DB instead of the log DB. It sounds like if there's a bug here, it's caused by the logdb's provider not sending a reload hint when it should.
See ITS#5376, ITS#5378, ITS#5465, ITS#5493, ITS#5282