Re: [HACKERS] Race-like failure in recovery/t/009_twophase.pl - Mailing list pgsql-hackers

From Tom Lane
Subject Re: [HACKERS] Race-like failure in recovery/t/009_twophase.pl
Date
Msg-id 14837.1499029831@sss.pgh.pa.us
Whole thread Raw
In response to Re: [HACKERS] Race-like failure in recovery/t/009_twophase.pl  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: [HACKERS] Race-like failure in recovery/t/009_twophase.pl
List pgsql-hackers
I wrote:
> Any ideas what's wrong there?

Hah: the answer is that query_hash's split() call is broken.
"man perlfunc" quoth
      split   Splits the string EXPR into a list of strings and returns that              list.  By default, empty
leadingfields are preserved, and              empty trailing ones are deleted.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

In the case at hand, the SQL query returns something like
"|physical|||t|10338|||0/302B7E8" with normal timing, but with
enough delay in there, you get "|physical|||t|11542|||" which
triggers split's default behavior of ignoring the trailing empty
fields.  It looks like the way to get split to not do that is
to pass it a "limit" of -1.
        regards, tom lane



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: [HACKERS] Race-like failure in recovery/t/009_twophase.pl
Next
From: Álvaro Hernández Tortosa
Date:
Subject: Re: [HACKERS] Using postgres planner as standalone component