Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1v1Rmu-008mxV-18 for pgsql-hackers@arkaria.postgresql.org; Wed, 24 Sep 2025 15:52:12 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1v1Rms-00E568-HI for pgsql-hackers@arkaria.postgresql.org; Wed, 24 Sep 2025 15:52:10 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1v1Rms-00E55z-5c for pgsql-hackers@lists.postgresql.org; Wed, 24 Sep 2025 15:52:10 +0000 Received: from mail-ed1-x52c.google.com ([2a00:1450:4864:20::52c]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1v1Rmn-002eXf-01 for pgsql-hackers@lists.postgresql.org; Wed, 24 Sep 2025 15:52:09 +0000 Received: by mail-ed1-x52c.google.com with SMTP id 4fb4d7f45d1cf-61cc281171cso11690444a12.0 for ; Wed, 24 Sep 2025 08:52:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758729124; x=1759333924; darn=lists.postgresql.org; h=user-agent:in-reply-to:content-disposition:mime-version:references :subject:cc:to:from:date:sender:message-id:from:to:cc:subject:date :message-id:reply-to; bh=qc5jDfIhWkXfpQI9CzYvt5qIg7EGVbprjxmjp7Y/xMc=; b=WMGu+lDC0tGU3jPfo8gMxjrvVQv9HaXeh097rmHaBiDoYGMy/9wR2tHivX4BitPneD 3HN/8ZHXdan6pzLSh6cII/v44qWxo+I5oJ0tvoB+sHIR0bnNjgqVQTms4mvMlSxTIYqJ Y0vdUw9yX53U6Nh5ZQiIOw6aJWkZ8RL8MVwhzV45CL1OddIpgzyKKnKruaELb4rY0I/5 tbU9AjN7Xok37BV97jC0IOoa0jYPEuRWs7+6zS990KiAiPl7hKDpJjC/v5Acl5n0c6dR IXhJw6qyri2eg7nE43ZUpdcR1WIdg1mzjiwILDcJp3mnQD1iVaM+gEOIWkKSdA+mNGoF YAKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758729124; x=1759333924; h=user-agent:in-reply-to:content-disposition:mime-version:references :subject:cc:to:from:date:sender:message-id:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=qc5jDfIhWkXfpQI9CzYvt5qIg7EGVbprjxmjp7Y/xMc=; b=B93MskUw7O9iGBHzG8+qLMAXL7fkrbnPm0xMtpRsK9JUfNZhYoetUUs52y8nqIPMji C/3WIjNQLO2L+i+DLGwSk4rIphnuuhOQ+3s4ge9gxqJ2+SEEVZGR+6BDGgWAzkA/AfiQ CUvs473NcoXelrZTW91vVQWeXOE1m0KZolEEMok6q0fLEd3TA62VW6ShzsXibVsi2UTU gOrjkAp/3BUPBHu/612dQ6I27ijLI9hE4AtwNhrM/1Fdu1MyR0D2mqNaWvYOgcad1SSx O5fveuLZzyIoEblzuu6fwlzLPSi1lk0ISUuJGoP740HOz8Mmxs3731CN0ohXUNo7Icyh WUgA== X-Forwarded-Encrypted: i=1; AJvYcCV41N+xQVZSPvjx74lNKmlTyQzRlXAdLhHMYW5zZCJ9PkoHNmuvtzWoAX+EDY/NaP7dcvRTOzp5jxlMK3iD@lists.postgresql.org X-Gm-Message-State: AOJu0YwfGlPG72jIa6/JtUmKRnZUkUYWMbtOBWOggL2sypFmNCHMl3nZ +9EoglWoramaKRFShfwi1goQFTlB2tp4hGksXj62zZCAA282I786rJmGvz2Low== X-Gm-Gg: ASbGncshbipYWaTSbQ3h+PMZ9tK9bNZLhM4938K8xDYT5mgoCkcWbYvgPi/h5TAQvYu nWHeXMWu+ixxXXhLL3w8fUWcOmcB1lf5nIMq0nGWw9S1ir5DR2CrBzGlHZwfkh1hnbhXqQlvyrO r5F23JlJ0Ae4kiRhPR4kcUvmoS6a47OfR61xPkk5xhnGRqHysVj+4eTVGfHvbU3wurNOjBb41wN sdiLteAwhm+RMDr3XhXXKBM8gEwg7erW3GHX843F/0AAInCyUl/4UXCA0yQJ2U6Pq9ujO2Ak0S2 Yq5l4Ynfgsz0cAYMzaQ3bsMrKgRB6fewKKM4VVd45aqxgigZwwDFu7WYjXcFmsLy/rEknemYIHk EWcby5d7imrix74nv9mGnkEToGH7q++XCGJAzSgS1FtPrJYE8TmoQ1J4= X-Google-Smtp-Source: AGHT+IEvd7wKn4L7sG+T/cCrdW8k5TfChTR+hT8I+caR3AMVNQnJu026RJjF0Soo0kYycl0ovb9rQw== X-Received: by 2002:a05:6402:520f:b0:62f:be45:56b0 with SMTP id 4fb4d7f45d1cf-634678215d4mr6965616a12.26.1758729123979; Wed, 24 Sep 2025 08:52:03 -0700 (PDT) Received: from lightning.caipicrew.dd-dns.de ([2001:a61:a7f:9701:6ac6:edd8:569:5ec9]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-62fa5f14e64sm12980173a12.25.2025.09.24.08.52.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Sep 2025 08:52:03 -0700 (PDT) Message-ID: <68d413a3.a70a0220.24c74c.8be9@mx.google.com> X-Google-Original-Message-ID: <20250924155202.GD10642@caipicrew.dd-dns.de;lightning.caipicrew.dd-dns.de> Sender: Michael Banck Received: from mbanck by lightning.caipicrew.dd-dns.de with local (Exim 4.92) (envelope-from ) id 1v1Rmk-0004oj-LJ; Wed, 24 Sep 2025 17:52:02 +0200 Date: Wed, 24 Sep 2025 17:52:02 +0200 From: Michael Banck To: Tom Lane Cc: Michael Paquier , Alexander Lakhin , pgsql-hackers@lists.postgresql.org, Thomas Munro Subject: Re: GNU/Hurd portability patches References: <68643ea2.050a0220.128f53.3f77@mx.google.com> <2874644f-6431-41f4-abe2-99e5ab052606@gmail.com> <68d0f931.050a0220.3185e0.19ae@mx.google.com> <283c3d69-ef32-4391-9ea3-68e47c9dea31@gmail.com> <68d3a0a0.050a0220.167290.bcf3@mx.google.com> <68d3cbe8.5d0a0220.65f10.da5f@mx.google.com> <3314741.1758724126@sss.pgh.pa.us> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="Qxx1br4bt0+wmkIi" Content-Disposition: inline In-Reply-To: <3314741.1758724126@sss.pgh.pa.us> User-Agent: Mutt/1.10.1 (2018-07-13) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --Qxx1br4bt0+wmkIi Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi, On Wed, Sep 24, 2025 at 10:28:46AM -0400, Tom Lane wrote: > It seems plausible that the execution time of the stats > test's function-under-test is so short that it sometimes > doesn't register as more than zero on a machine with poor > clock resolution. It looks like that test only calls the > test function once or twice before checking that it's > accumulated some runtime, and the test function is nothing > more than > > CREATE FUNCTION test_stat_func() RETURNS VOID LANGUAGE plpgsql AS $$BEGIN END;$$; > > I'd call this a bug in that test TBH. It'd be saner to > make the function do something like pg_sleep for 1ms. I did that in the attached, so far my Hurd VM ran the stats test more than 1000 times without a failure with it. I have the loop running till 10000, I'll report back tomorrow. Michael --Qxx1br4bt0+wmkIi Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0001-Add-minimal-sleep-to-stats-isolation-test-functions.patch" From d6a6995ea53695319dde1488e8f7f4b1bf8c21a8 Mon Sep 17 00:00:00 2001 From: Michael Banck Date: Wed, 24 Sep 2025 17:43:20 +0200 Subject: [PATCH] Add minimal sleep to stats isolation test functions. The functions test_stat_func() and test_stat_func2() had no function bodies. This made it possible that on machines with relatively low timer resolution the function would return before the clock advanced, making the test fail. To avoid that, pg_sleep for 1ms during the function. Per buildfarm members fruitcrow and hamerkop. --- src/test/isolation/specs/stats.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/isolation/specs/stats.spec b/src/test/isolation/specs/stats.spec index 1d98ac785b8..5b765da7eff 100644 --- a/src/test/isolation/specs/stats.spec +++ b/src/test/isolation/specs/stats.spec @@ -6,10 +6,10 @@ setup INSERT INTO test_stat_tab(key, value) VALUES('k0', 1); INSERT INTO test_stat_oid(name, oid) VALUES('test_stat_tab', 'test_stat_tab'::regclass); - CREATE FUNCTION test_stat_func() RETURNS VOID LANGUAGE plpgsql AS $$BEGIN END;$$; + CREATE FUNCTION test_stat_func() RETURNS VOID LANGUAGE plpgsql AS $$BEGIN PERFORM pg_sleep(0.001); END;$$; INSERT INTO test_stat_oid(name, oid) VALUES('test_stat_func', 'test_stat_func'::regproc); - CREATE FUNCTION test_stat_func2() RETURNS VOID LANGUAGE plpgsql AS $$BEGIN END;$$; + CREATE FUNCTION test_stat_func2() RETURNS VOID LANGUAGE plpgsql AS $$BEGIN PERFORM pg_sleep(0.001); END;$$; INSERT INTO test_stat_oid(name, oid) VALUES('test_stat_func2', 'test_stat_func2'::regproc); CREATE TABLE test_slru_stats(slru TEXT, stat TEXT, value INT); -- 2.39.5 --Qxx1br4bt0+wmkIi--