Fellow Bucardoans,

v4.99.7 is working pretty well on our production system. However, we 
periodically get these warnings, which understandably alarm our DBAs:

      1 (29923) [Fri Sep  6 17:44:09 2013] KID Warning! Aborting due to 
exception for foo.bar:? Error was DBD::Pg::db pg_putcopyend failed: ERROR:  
could not serialize access due to read/write dependencies among 
transactions\nDETAIL:  Reason code: Canceled on identification as a pivot, 
during write.\nHINT:  The transaction might succeed if retried.\nCONTEXT:  COPY 
bar, line 2: "128842        Blah      12345" at 
/usr/share/perl5/vendor_perl/Bucardo.pm line 8900.

That comes from this bit of code:

                        if (!$g->{has_exception_code}) {
                            $self->glog("Warning! Aborting due to exception for 
$S.$T:$pkval Error was $err", LOG_WARN);
                            die "$err\n";
                        }

I don’t at all understand what has_exception_code is for, but I’m wondering 
whether, on serialization or deadlock errors, this warning should be 
suppressed? After all, if I understand the code correctly, that call to `die` 
is caught by the exception handler which *does* notice serialization and 
deadlock errors and either retries them or emits an error. Do I have that 
right? If so, I am not clear that the warning is needed here at all. Is it?

Thanks,

David

_______________________________________________
Bucardo-general mailing list
[email protected]
https://mail.endcrypt.com/mailman/listinfo/bucardo-general

Reply via email to