Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oxCuG-0004Mz-Vk for pgsql-hackers@arkaria.postgresql.org; Mon, 21 Nov 2022 19:56:41 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1oxCuE-0007pV-Tv for pgsql-hackers@arkaria.postgresql.org; Mon, 21 Nov 2022 19:56:38 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oxCuE-0007nU-Jp for pgsql-hackers@lists.postgresql.org; Mon, 21 Nov 2022 19:56:38 +0000 Received: from out3-smtp.messagingengine.com ([66.111.4.27]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oxCu9-0000p7-Ly for pgsql-hackers@lists.postgresql.org; Mon, 21 Nov 2022 19:56:38 +0000 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id C8BC05C01C5; Mon, 21 Nov 2022 14:56:30 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Mon, 21 Nov 2022 14:56:30 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=anarazel.de; h= cc:cc:content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to; s=fm1; t=1669060590; x=1669146990; bh=m1Dwp/97Hb bkf+3aeNd9L5f+PFyn09xG6ytKXZLBjO4=; b=LPghUeEq0yMTOnKGmvySFY8lsM TfezfG7922Z/n9MAO+QBgiAepHmIgR/RtQisqVkhj48xEa0E6/d/BBiuBIBVO2Tw 7ZO3P+am6h7GunLOg+6Gtq63ArdQdtF94i5x4SjQZRL0qWjhnznIdYb+0NJ5nPmY bGHcfuz8FYhTaCZQI+nwiroKVhgYy+JVVrDRtpI3dpzs0RNQibLztTMNM6P7a7RB U7inGGRmWezLKLOOyF05gseyBWBjH4knSD0XKqy/4Dt2gmyVlZk0KwMIyvQW47E8 Cljm81w9/FhoxPs5cMbYTE6cpS/acLGlTOVwxTWTL+NHwBA8Bmzll8bZGArw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; t=1669060590; x=1669146990; bh=m1Dwp/97Hbbkf+3aeNd9L5f+PFyn 09xG6ytKXZLBjO4=; b=u3xuabXFraRu7gxKAmuUHilR4YY9PdMbjbvK0FUXCfAE e1n+opcSbrbfKcUei6c84N8gynHu1qspHtbAUhDsIwHe/YpNLUigEoBZdKJPNFC+ LhCJD9plox6Jxvh0YztZPyp7V+CkZB5+zO6K65MMqVMocusljVgpDsB8XktZXa04 p1EvwO8KaeyCVob/fTj+AOFaVSlGV1K7rGQsCWjGR8QwjYqoHpsI2YTIRONcF0J4 MwELuhbJ8Xw+j1SEAJ2JajgBLQ9Sb8yZrc/rDMGJmjg3rpPTT3ACKLW8UjfsRIsg JmaJbECiVfTtKVL81kPflu+iw9JARgQI7vrMmJxolQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvgedrheeigddufeduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepfffhvfevuffkfhggtggujgesthdtredttddtvdenucfhrhhomheptehnughr vghsucfhrhgvuhhnugcuoegrnhgurhgvshesrghnrghrrgiivghlrdguvgeqnecuggftrf grthhtvghrnhepvdfffeevhfetveffgeeiteefhfdtvdffjeevhfeuteegleduheetvedu ieettddunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomh eprghnughrvghssegrnhgrrhgriigvlhdruggv X-ME-Proxy: Feedback-ID: id4a34324:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 21 Nov 2022 14:56:30 -0500 (EST) Date: Mon, 21 Nov 2022 11:56:28 -0800 From: Andres Freund To: Robert Haas Cc: Tom Lane , pgsql-hackers@lists.postgresql.org Subject: Re: pgsql: Prevent instability in contrib/pageinspect's regression test. Message-ID: <20221121195628.2rlqpbkjgjsvqn6w@alap3.anarazel.de> References: <20221121172206.h6kywxrzqcmhoqom@awork3.anarazel.de> <3214376.1669051457@sss.pgh.pa.us> <3215927.1669052115@sss.pgh.pa.us> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi, On 2022-11-21 12:52:01 -0500, Robert Haas wrote: > On Mon, Nov 21, 2022 at 12:35 PM Tom Lane wrote: > > I wrote: > > > Andres Freund writes: > > >> Looks like a chunk of the buildfarm doesn't like this - presumably because > > >> they use force_parallel_mode = regress. Seems ok to just force that to off in > > >> this test? > > > > > Ugh ... didn't occur to me to try that. I'll take a look. > > > > Hmm, so the problem is: > > > > SELECT octet_length(get_raw_page('test1', 'main', 0)) AS main_0; > > ERROR: cannot access temporary tables during a parallel operation > > > > Why in the world is get_raw_page() marked as parallel safe? > > It clearly isn't, given this restriction. > > I suspect that restriction was overlooked when evaluating the marking > of this function. It's somewhat sad to add this restriction - I've used get_raw_page() (+ other functions) to scan a whole database for a bug. IIRC that actually did end up using parallelism, albeit likely not very efficiently. Don't really have a better idea though. It may be worth inventing a framework where a function could analyze its arguments (presumably via prosupport) to determine the degree of parallel safety, but this doesn't seem sufficient reason... Greetings Andres Freund