[Bucardo-general] add sync fails due to deadlock

Michael Betts mike at freshsqueezedwebsites.com
Sun Mar 24 15:21:40 UTC 2013


Greg,

FYI, I just stopped access to the production db long enough to create the triggers and it's now working.

Mike

On Mar 23, 2013, at 8:09 PM, Michael Betts wrote:

> Greg,
> 
> Here's what gets reported back by bucardo:
> DETAIL:  Process 8575 waits for AccessExclusiveLock on relation 17353 of database 16386; blocked by process 8584.
> Process 8584 waits for AccessShareLock on relation 27332 of database 16386; blocked by process 8575.
> 
> And here's what's in the source log file:
> 
> 2013-03-23 23:50:41 UTC ERROR:  deadlock detected
> 2013-03-23 23:50:41 UTC DETAIL:  Process 8575 waits for AccessExclusiveLock on relation 17353 of database 16386; blocked by process 8584.
> 	Process 8584 waits for AccessShareLock on relation 27332 of database 16386; blocked by process 8575.
> 	Process 8575:  CREATE TRIGGER "bucardo_note_trunc_radsync"
> 	AFTER TRUNCATE ON "public"."auth_user"
> 	FOR EACH STATEMENT EXECUTE PROCEDURE bucardo.bucardo_note_truncation('radsync')
> 	        
> 	Process 8584: SELECT "album"."id", "album"."artist_id", "album"."title", "album"."duration", "album"."parental_advisory", "album"."release_date", "album"."cover_art", "album"."single_album", "album"."created_date", "album"."last_updated_date" FROM "album" WHERE "album"."id" = 11175457 
> 
> So it looks like trying to create the trigger on auth_user fails because of a share lock on album, which makes no sense to me as they are not related. And it's not just this table, if I remove the auth_user table from the sync, I get a similar error on other tables.
> 
> Is there a way to not specify the truncate triggers?
> 
> Thanks,
> 
> Mike
> 
> 
> On Mar 23, 2013, at 7:49 PM, Greg Sabino Mullane wrote:
> 
>>> the validate_sync fails due to a deadlock when trying to create a 
>>> trigger on one of the tables.  Is there a way to add a sync to a live 
>>> database so this won't occur?  Any advice would be much appreciated.
>> 
>> Exactly what is it deadlocking against? It always needs to get an exclusive lock 
>> on each table in the sync to create the triggers, so there is always 
>> a chance of bumping into other processes. Depending on what it is, though, 
>> there may be ways to fix the issue.
>> 
>> -- 
>> Greg Sabino Mullane greg at endpoint.com
>> End Point Corporation
>> PGP Key: 0x14964AC8
> 
> _______________________________________________
> Bucardo-general mailing list
> Bucardo-general at bucardo.org
> https://mail.endcrypt.com/mailman/listinfo/bucardo-general



More information about the Bucardo-general mailing list