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.96) (envelope-from ) id 1wA9N9-0026nP-02 for pgsql-hackers@arkaria.postgresql.org; Tue, 07 Apr 2026 16:33:51 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wA9N7-001UnT-19 for pgsql-hackers@arkaria.postgresql.org; Tue, 07 Apr 2026 16:33:49 +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.96) (envelope-from ) id 1wA9N7-001UnK-0C for pgsql-hackers@lists.postgresql.org; Tue, 07 Apr 2026 16:33:49 +0000 Received: from mail-ed1-x536.google.com ([2a00:1450:4864:20::536]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wA9N5-000000018oM-0i8N for pgsql-hackers@postgresql.org; Tue, 07 Apr 2026 16:33:49 +0000 Received: by mail-ed1-x536.google.com with SMTP id 4fb4d7f45d1cf-66eba04b29eso5161703a12.1 for ; Tue, 07 Apr 2026 09:33:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775579624; cv=none; d=google.com; s=arc-20240605; b=YbtV7DyBGLJ3mkndB/K1rQDkU/kQxwvMw7UoppffN2rf7ZNNxtJVOULeiqtsUbPw75 SFKPsSccEsFRtOZkUnZIZUZyMcmBdwtmEFjdk4QKSr8yUUD17AWsvBxbgdPMcNePQ4aI flbEbFmfxtbJ66i5+iwjLqMa25c7oxW8DfzANt79Qzo57xg9MWf7S+4hSpx3QH42xPfU vlrqpYfVQFPyQtrSqJZm/pxnT3y1jUtB4oqGtPPoOUQyGJBYFYe6I0ooieKyKBjEHZfr YNneMumTMTF80gXlRc0a/BPJwZP+nQS87UXJ8lSGdA8MvqlAnspd6QTKc9DeSfY7igvi vJtA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=Q0cHwvrF5qin2E3MpSuBDTCDcUn/R331M4lr42e+DZg=; fh=FB9j58h1EOH/+MV/8Q/7Op5hQm2tMn10f9S2qI9v7BM=; b=QLaNGFqxCEmNuFGVdKovEl03LJRmMITUan4r0TrJJxKoK5+FrAnCipfABqnQUuelDR +zU5hGBQhzsCXUc+riJyz/O688CkBy9/ziz7MapYR3DtnhR3VFK+yk2ddE5d9o8jOCAO ZGFvM+AxFN/y80809kQ/nYqz4xUZcs5LW47ZlBNkYuXLVppIMqU5nHFN0uIS/DTORNuR +k/MQp/xueXv/PO7I7bUoC3xiktI6lb2uiaRpWuv6bANE0FDI14ySuoczFnUynoQFtWn 9K9hj8Etdu1EI6+BohnCrl4zsTR310SvAlA+lrRjqcE6B0cpVBNtnznX2qLK4BG3LnPp Zicg==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775579624; x=1776184424; darn=postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=Q0cHwvrF5qin2E3MpSuBDTCDcUn/R331M4lr42e+DZg=; b=Ok/AcIJHK0V6hupgafkQlqqcWm7Qrx7hs4iBW4HIA+iDT8Z15NGc4Yoh6BLHd1A4hh w6Uzi+f/o2JpZkiT4i3/GVZiouIglAmCtQQwH0GslHaYVtM31PH2iiWnod9X2tnLKlmB SGryBQMyxMOomRy8SZhendk3wfjyo/22FmH9TTPoMElm+JmBbxM7acUxdTe0AAOV/AbS JU68L77NOIlaGUak52T2XnhYDncDUr36xrzPNcGjyayrEircfq2x8PP1r0USn3D3aCJx A2Kk7VMt3c3WNYEQoJKx6fSxKNSc9gXUYNalazH2CJL4lw3clXQlEi2kb+y8c6uhC9kS YNKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775579624; x=1776184424; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Q0cHwvrF5qin2E3MpSuBDTCDcUn/R331M4lr42e+DZg=; b=FrBl5Y5Hk2WuFGWobyvvm6m/ceo3BaFTnXlTx8eHnLTn2vAu+MWszodRya4RuZID5/ GIFL7aulbDSmOT7BXz0EthLqiyK33ySl68IbWinH1pHQ2V3ZGx/xqx23LW3oLL7aHNYW N7PFud0FuRcX56VO7Dpi3IE5B7aF+ySd36FxGWQLwR6gMyPgamKiuwGhev8dk7NZMlRY 9MeZ/BPpYvZdFwJadUbNF/KqDfd/VgsOTQzfw+Z9IoHQIpPJMHeNeU44xIszWUF4hwha 4dZcr9QCH9FF0yOlnDJoiOOgpK3LfUOy9MS9A80C4z6AqLi7HW8Dh5fNFjlIZxb3A4Tu 02Mg== X-Forwarded-Encrypted: i=1; AJvYcCWH0yvJC2ziIXgTEffAanqTr3MZIgMlfJx50T6SZN0sc8h7dq3L4MBv5B7zqI0W7h8CzKOmaJV9LweHeg0D@postgresql.org X-Gm-Message-State: AOJu0Yx2YKaMJeoYVZeDxMANyHThv2FobFh5EywtpCUMNARTPbSizRFH +cyF/kQy5kJS62PMxcxRtP2FUy6fZQX3n7tHb8ERd3XLGT0cQkg+7KOI0gMTMMnFNWdG6Xwtzbt nnQcjo4SuRb8sMMnASDPFxruvviPdkSNSOQoG X-Gm-Gg: AeBDievhGEXJb0GFwnReb6FDdx6oPhpsVJPkZ/F8BTNFH6RyUVrw4506rUA9t9AAzsW +qjoUZXRVpaEKY6B0ZFAXf0mXzjlg+UeoabBkydHdWgqlyjHSISOFH1sYDWLhgvdmT9MW/fou4h a5Lz+3FF0N70m6IAwIA+G6z8p79wLl49oWXJp89/Pa/SZLJ0QcZkQZk1ROzuASfoGi5Cye5G4xf fhiJIAHK6sHeNHtnbQAEqFsXzl6ZHud/uDhnEwWiwB4rPFBAZm9h7BF0ci4JIgG54+VYdmMwcuI bds1Tw== X-Received: by 2002:a17:907:d90:b0:b99:6133:aceb with SMTP id a640c23a62f3a-b9c679ba5c7mr969491866b.24.1775579624314; Tue, 07 Apr 2026 09:33:44 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Sami Imseih Date: Tue, 7 Apr 2026 11:33:31 -0500 X-Gm-Features: AQROBzCVrT7SorsZbbzgxDEWUqobHz_oYUiDiiroOYWdr2m4UhvbLhBlizSxwD4 Message-ID: Subject: Re: test_autovacuum/001_parallel_autovacuum is broken To: Daniil Davydov <3danissimo@gmail.com> Cc: Masahiko Sawada , pgsql-hackers Content-Type: text/plain; charset="UTF-8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk > > > I think we can remove the second wait_for_autovacuum_complete() > > > call in the test, as all we really need is to wait_for_log to guarantee > > > the cost parameters were updated. No need to wait for the autovacuum > > > to complete. > > > > It sound like a good idea. In the test 2, we make garbage tuples on > > test_autovac table but it doesn't necessarily mean that autovacuum > > would work only on that table. Also given that the purpose of this > > test is to check the propagation works fine, we can verify it whatever > > tables eligible for parallel vacuum. > > > > Yeah, we only need to ensure that there will be free parallel workers in > bgworkers pool. Since only autovacuum can launch parallel workers in this > test, I think everything is OK. > > The proposed patch fixes the problem, but I am thinking about possible new > tests for parallel a/v. What if some of them will require both injection points > and wait_for_autovacuum_complete call? Yeah, we could use dynamically named injection points, which I don't see a precedent for. For example, we could construct a name like "autovacuum-test-" and have the autovacuum code path generate the injection point name dynamically based on the relation being vacuumed. That way, the test only blocks on the specific table it cares about. But I don't think we need to do this now, since the test we are dealing with does not need to wait for autovacuum to complete. > If the reloption could override the GUC > parameter, then we could disable parallel a/v globally and turn it on for the > particular table. In this case we can avoid such a problem. That is an interesting idea which may be possible since we do reserve a/v workers at startup with autovacuum_worker_slots. Although I am not sure if we should be putting a feature that makes disabling autovacuum globally supported behavior. -- Sami