[Bucardo-general] CTL Creating Too Many syncrun Rows

David E. Wheeler david at justatheory.com
Thu Jul 25 14:46:29 UTC 2013


On Jul 25, 2013, at 3:29 PM, "David E. Wheeler" <david at justatheory.com> wrote:

> This definitely happens, though. And FWIW, the status for all of those rows with no ended column is always "Finished (KID 11063)". Same damn KID.
> 
> Is KID doing something async?

I noticed that there were some serialization failure messages in my log.bucardo file, and this led me to the serialization and deadlock handling code I added a few months ago. Turns out that it was doing a rollback on the Bucardo database, rather than calling end_syncrun(). But the syncrun was already committed (so that other processes can see a sync is in progress, of course).

So that wasn't right. I just pushed a change that calls end_syncrun() on serialization or deadlock failure. It declares the run a "Failure", but the status notes that it's a serialization or deadlock issue. Might make sense to record in the status that Bucardo is going to try again, too, yes? Perhaps we should also consider a different status than "bad" or "failed"?

Anyway, I’m going to deploy this change and see if the orphaned syncrun records go away. Hopefully they will. If they don’t, then I will have to try to find other places where end_syncrun() is not called but should be.

Best,

David


More information about the Bucardo-general mailing list