Re: pgbench error: (setshell) of script 0; execution of meta-command failed

2025-01-14 Thread Tom Lane
I wrote: > OK, I'll make it so. Thanks for looking at it! Or not. My idea worked okay in v17, but not in older branches. Pre-v17, libpq itself can call pqsignal (though only in non- thread-safe builds). With this patch, that would have resulted in pulling src/port/pqsignal.o into libpq. libpq

Re: pgbench error: (setshell) of script 0; execution of meta-command failed

2025-01-14 Thread Tom Lane
Nathan Bossart writes: > On Tue, Jan 14, 2025 at 02:52:29PM -0500, Tom Lane wrote: >> So now I'm inclined to include the ABI-compatible wrapper, which >> will ensure that extensions continue to link to libpgport's pqsignal. > Fine by me. OK, I'll make it so. Thanks for looking at it!

Re: pgbench error: (setshell) of script 0; execution of meta-command failed

2025-01-14 Thread Nathan Bossart
On Tue, Jan 14, 2025 at 02:52:29PM -0500, Tom Lane wrote: > After more thought I've realized that the asymmetrical detection > here isn't all that bad, because the outcomes are different. > If we fail to catch old-headers-and-new-library, the result will > either be a link failure or (if the extens

Re: pgbench error: (setshell) of script 0; execution of meta-command failed

2025-01-14 Thread Tom Lane
Nathan Bossart writes: > On Mon, Jan 13, 2025 at 05:51:54PM -0500, Tom Lane wrote: >> (plus or minus an extern or so, but you get the idea). The point of >> this is that compiling against old headers and then linking against >> newer libpgport.a would still work. It does nothing however for the

Re: pgbench error: (setshell) of script 0; execution of meta-command failed

2025-01-14 Thread Nathan Bossart
On Mon, Jan 13, 2025 at 05:51:54PM -0500, Tom Lane wrote: > It's fair to worry about this, but I don't think my testing that would > prove a lot. AFAICS, whether somebody runs into trouble would depend > on many factors like their specific build process and what versions of > which packages they h

Re: pgbench error: (setshell) of script 0; execution of meta-command failed

2025-01-13 Thread Tom Lane
Nathan Bossart writes: > On Sat, Jan 11, 2025 at 02:04:13PM -0500, Tom Lane wrote: >> What I propose doing in the released branches is what's shown in >> the attached patch for v17: rename port/pqsignal.c's function to >> pqsignal_fe in frontend, but leave it as pqsignal in the backend. >> Leaving

Re: pgbench error: (setshell) of script 0; execution of meta-command failed

2025-01-13 Thread Nathan Bossart
On Sat, Jan 11, 2025 at 02:04:13PM -0500, Tom Lane wrote: > After studying this more, I think what we should do in HEAD is > even more aggressive: let's make the real name of port/pqsignal.c's > function be either pqsignal_fe in frontend, or pqsignal_be in backend. > This positively ensures that th

Re: pgbench error: (setshell) of script 0; execution of meta-command failed

2025-01-11 Thread Tom Lane
I wrote: > Actually, after re-reading the thread that led to 06843df4a [1], > I think a better idea is to introduce some macro magic to force > frontend clients to use libpgport's version of pqsignal() instead > of the one from libpq. We mustn't change the real name of libpq's > version, but I thi

Re: pgbench error: (setshell) of script 0; execution of meta-command failed

2025-01-10 Thread Tom Lane
I wrote: > Since legacy-pqsignal is really not supposed to be used by clients > anymore, maybe we could just adjust it to set SA_RESTART for SIGALRM? > The other alternatives I can think of amount to re-introducing > link order dependencies, which would be horrid. Actually, after re-reading the th

Re: pgbench error: (setshell) of script 0; execution of meta-command failed

2025-01-10 Thread Nazir Bilal Yavuz
Hi, On Fri, 10 Jan 2025 at 17:58, Tom Lane wrote: > > Nazir Bilal Yavuz writes: > > I ran it ~500 times on HEAD but the issue did not occur on my machine. > > What platform are you testing on? My local machine is: Linux 6.12.8-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.8-1 (2025-01-02) x86_64 GNU

Re: pgbench error: (setshell) of script 0; execution of meta-command failed

2025-01-10 Thread Fujii Masao
On 2025/01/10 21:41, Fujii Masao wrote: On 2025/01/10 16:09, Andy Fan wrote: Andy Fan writes: Hi: I run into the {subject} issue with the below setup. cat foo.sql \setshell txn_mode echo ${TXN_MODE} \setshell speed echo ${SPEED} \setshell sleep_ms echo ${SLEEP_MS} \setshell subtxn_mod

Re: pgbench error: (setshell) of script 0; execution of meta-command failed

2025-01-10 Thread Tom Lane
Nazir Bilal Yavuz writes: > I ran it ~500 times on HEAD but the issue did not occur on my machine. What platform are you testing on? regards, tom lane

Re: pgbench error: (setshell) of script 0; execution of meta-command failed

2025-01-10 Thread Tom Lane
Fujii Masao writes: > Before this commit, pgbench used pqsignal() from port/pqsignal.c > to set the signal handler for SIGALRM. This version of pqsignal() > sets SA_RESTART for frontend code, so fgets() in runShellCommand() > wouldn't return NULL even if SIGALRM arrived during fgets(), > preventin

Re: pgbench error: (setshell) of script 0; execution of meta-command failed

2025-01-10 Thread Nazir Bilal Yavuz
Hi, On Fri, 10 Jan 2025 at 10:10, Andy Fan wrote: > > Andy Fan writes: > > > Hi: > > > > I run into the {subject} issue with the below setup. > > > > cat foo.sql > > > > \setshell txn_mode echo ${TXN_MODE} > > \setshell speed echo ${SPEED} > > \setshell sleep_ms echo ${SLEEP_MS} > > \setshell su

Re: pgbench error: (setshell) of script 0; execution of meta-command failed

2025-01-10 Thread Fujii Masao
On 2025/01/10 16:09, Andy Fan wrote: Andy Fan writes: Hi: I run into the {subject} issue with the below setup. cat foo.sql \setshell txn_mode echo ${TXN_MODE} \setshell speed echo ${SPEED} \setshell sleep_ms echo ${SLEEP_MS} \setshell subtxn_mode echo ${SUBTXN_MODE} select 1; $ TXN_MOD

Re: pgbench error: (setshell) of script 0; execution of meta-command failed

2025-01-09 Thread Andy Fan
Andy Fan writes: > Hi: > > I run into the {subject} issue with the below setup. > > cat foo.sql > > \setshell txn_mode echo ${TXN_MODE} > \setshell speed echo ${SPEED} > \setshell sleep_ms echo ${SLEEP_MS} > \setshell subtxn_mode echo ${SUBTXN_MODE} > > select 1; > > $ TXN_MODE=-1 SPEED=1 SLEEP_M

pgbench error: (setshell) of script 0; execution of meta-command failed

2025-01-09 Thread Andy Fan
Hi: I run into the {subject} issue with the below setup. cat foo.sql \setshell txn_mode echo ${TXN_MODE} \setshell speed echo ${SPEED} \setshell sleep_ms echo ${SLEEP_MS} \setshell subtxn_mode echo ${SUBTXN_MODE} select 1; $ TXN_MODE=-1 SPEED=1 SLEEP_MS=0 SUBTXN_MODE=-1 pgbench -n -ffoo.sql