On 6/12/21 3:15 PM, Tom Lane wrote: >>> Michael Paquier <mich...@paquier.xyz> writes: >>>> This is the same problem as c757a3da and 6d41dd0, where we write a >>>> query to a pipe but the kill, causing a failure, makes the test fail >>>> with a SIGPIPE in IPC::Run as a query is sent down to a pipe. > After checking the git logs, I realized that this failure is actually > new since 11e9caff8: before that, poll_query_until passed the query > on the command line not stdin, so it wasn't vulnerable to SIGPIPE. > So that explains why we only recently started to see this. > > The fix I proposed seems to work fine in all branches, so I went > ahead and pushed it. > >
I'm a bit dubious about this. It doesn't seem more robust to insist that we pass undef in certain cases. If passing the SQL via stdin is fragile, as we also found to be the case with passing it via the command line, perhaps we should try passing it via a tmp file. Then there would presumably be no SIGPIPE. cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com