[Bucardo-general] And another....

Greg Sabino Mullane greg at endpoint.com
Wed Oct 16 02:33:48 UTC 2013

On Tue, Oct 15, 2013 at 10:34:16PM +0200, Michelle Sullivan wrote:
> exception for public.account2email:? Error was DBD::Pg::db pg_result
> failed: No asynchronous query is running at
> /usr/lib/perl5/site_perl/5.8.8/Bucardo.pm line 8589.

I can't seem to figure this one out. That error pops up if we call 
pg_result but haven't just run an asynchronous query. However, inside 
of delete_rows(), we call async at the end of each loop:

  for my $loop (1..$count) {
    my $async = $loop==$count ? PG_ASYNC : 0;
    if (1 == $numpks) {
       $t->{deletesth} = $tdbh->prepare("$pre$SQL{ANY}{$tname}", { pg_async => $async });
       my $res = $t->{deletesth}->execute($SQL{ANYargs}->[$loop-1]);
       $count{$t} += $res unless $async;
     else {
       $count{$t} += $tdbh->do($pre.$SQL{IN}->[$loop-1], { pg_direct => 1, pg_async => $async });
       $t->{deletesth} = 0;

Then the next block of code that runs using that database handle is:

  ## Final cleanup as needed (e.g. process async results)
  ## Wrap up all the async queries                                                                                                                 
  ($count{$t} += $tdbh->pg_result()) =~ s/0E0/0/o;

  ## Call finish if this was a statement handle (as opposed to a do)                                                                               
  if ($t->{deletesth}) {
  delete $t->{deletesth};

Maybe my tired eyes overlooked something, but I can't see how we 
reach that pg_cancel without setting pg_async to true. Any chance 
you can send me the Postgres logs for just before that error to help 
track things down?

Greg Sabino Mullane greg at endpoint.com
End Point Corporation
PGP Key: 0x14964AC8
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 163 bytes
Desc: Digital signature
URL: <https://mail.endcrypt.com/pipermail/bucardo-general/attachments/20131015/f0348617/attachment.sig>

More information about the Bucardo-general mailing list