[Bucardo-general] BUG. VAC process disabled for some databases

Andrey Solovjov solovjov at mcn.ru
Tue Jul 28 09:04:28 UTC 2015

I've found out that needsvac flag can be disabled for databases which 
are used in several syncs. As a result track and delta tables aren't 
cleaned up and become huge.
It's ease to reproduce. For example we have 2 dbs: db1 and db2.
We create 2 syncs:
sync1 where db1:source db2:target
sync2 where db1:target db2:source
Both databases are used as sources and VAC daemon should clean them.
There is a for loop where bucardo cycles through syncs to determine if 
VAC should be enabled for databases. The problem is that if database is 
listed in several syncs it's needsvac parameter is reset each time. So 
in my example we have:
1. Check sync1 db1->needsvac=1 db2->needsvac=0
2. Check sync2 db1->needsvac=0 db2->needsvac=1
So VAC for db1 will be disabled.
Is it possible to fix this?
Best regards,  Andrew.

More information about the Bucardo-general mailing list