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 1wAvlr-000Zyk-0A for pgsql-hackers@arkaria.postgresql.org; Thu, 09 Apr 2026 20:14:35 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wAvlm-007fyZ-2t for pgsql-hackers@arkaria.postgresql.org; Thu, 09 Apr 2026 20:14:31 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wAvlm-007fyQ-1M for pgsql-hackers@lists.postgresql.org; Thu, 09 Apr 2026 20:14:31 +0000 Received: from mail-ed1-x533.google.com ([2a00:1450:4864:20::533]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wAvll-00000000Dbx-1SKv for pgsql-hackers@postgresql.org; Thu, 09 Apr 2026 20:14:30 +0000 Received: by mail-ed1-x533.google.com with SMTP id 4fb4d7f45d1cf-66bd3d05e03so1522007a12.2 for ; Thu, 09 Apr 2026 13:14:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775765668; cv=none; d=google.com; s=arc-20240605; b=heskz4s8uJohaihYgNEcACnV6MrtlGsJ1MwfIw4el9XNEfvO+r8vBxi+GBtARjO545 2C+xem1Quxu+TamYqCe6/NRDLAFKg3LbarV/UoUpGML3eeyfArLHHMASZDPcA5mFzuP7 KIfwGg6uebXA+oqLgUFR8aMxM+GjMSuxeQMWdWtuOB5UBMqkKz91U7qZ73qglZaauQ8f hK9ZORJwlx35C3e+Fz/h3+KgsKggYHQQSOO3H/kXUBRSukywANQJgqY2WSNYqz5d0p57 vu7K7XtcShou9pXdSq1zIWSIfxiUtAYOXAmdBA7EHDu8W1K3QP7XGRt2TtV9TjIc6xsA bh6w== 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=JVC6ZauBQYje+bm5SoQUJU8uKxIF5F3yq1QlhhW5Fpk=; fh=svhTZKYQY0Obmz+tiM5MSL4hHou5wHfAgR7g+MDa9rk=; b=HNUjiQrs1pMCZYHKElNYxg4g01IXHgPQnR99LdPxxPewZu9b38iIpklRPn0rW7s2GA pm11nfsk0a1ry0GsgX55+dcxIZh8Jcc7zZCgCqElK4oZ54IB3kQX6KUhy0r9on+eQvv2 xDdT7gNU+/AQsjN1vi9+E15v0PZvxzKXBwiQRnkxY1vK9R1JQoI72hLzqHaQOMV9+srD 1bus9lfcka+KffyHcwZroKZerDsgy3zSjEqkEkqM3oXxJCL34OgU0382rwnr4cwlgkvS vSyRR/r6ya11xkMuWt9qA7xlmWBy7p4jPjYuc/12TwjBdRlN333RWHIUW8XvaMoUEX4T GKZg==; 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=1775765668; x=1776370468; 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=JVC6ZauBQYje+bm5SoQUJU8uKxIF5F3yq1QlhhW5Fpk=; b=sL/fvRmj9SFIE0rsHmtU7ZMMKGNYzA9lFCOS3Bef5VcQIV1HjB9PV/zPz2tVmA2SV4 Rl5PAgXql7Zqas2Sv8lkLlXpK5RuMSB2pGW3BW/uq5Hn6KG1nm5cneIaiC13OlmCSoi4 HWphKp3QkkijGjJNNXlqiJHjzKGM2ILbYGLn5iTedPIvJ0CBMzAHOT2URFWm9Z4IfMkL VVC9OUy6umsBki1+E4iG9wXyW+vUZ8e5QjHJRvpL3N8DUCXkXbPVN4TikFEYPZmm+3qA fshMNfCVRhgN0tmh83DavjXkwsCPR9ivf+M4PIl4WWX2fAH9U++n51NbRuX6ndHCv0Ti 8Cdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775765668; x=1776370468; 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=JVC6ZauBQYje+bm5SoQUJU8uKxIF5F3yq1QlhhW5Fpk=; b=Iibe3hOB/I0MFfIX++EIV9z3CoI6q6usB/OeIdV3PWbHLRkkxXDwRTQGMU3c4Fo9aJ bKMERo9cZ677FUefjOvkbFR4R/VDN7AdQWOmQC6P80VmiGwvWOU0K3j5zNz/89S2xpWR 8hC/jcW3JfLydkZGc+rJzp1N9igBfmhYyBho2tNIQQAcH/Ml90SJJ+6FWNOKir/ei7r7 vhR0XCKJY0oE96UJCmG12ROaNi8MLrBoYY67m1SLadUeFBP9dTBZMm8qwNLnQ6zJfVhs W1frpjER5Nbi0GOGSeNCOWGLmLd13QHKCF1MtGifyYycdzE34ir1J6T5YKjVnJ5g7SSo FzjQ== X-Forwarded-Encrypted: i=1; AJvYcCUOAqxJQb3f/FwVWWgFe/bh/YacBgXv/U98QrV0kAUyoBvfAURy/xHrEl6n+6Y/4kgvdL4TPvBM33EzNKT5@postgresql.org X-Gm-Message-State: AOJu0Yw7lKBCzy6/Q840PcvagHstqV0NDa0fwnyXXZnjXkU/mrKKacJi SQXh4SAGOUsYlNQu3wz2XoOG0T8mD7wQgWVZ8PAyHlDkWJonTirmXnxSfZeLO8q/SIxcYLpQF8t tr+j4ZJ6k3XJtf+EXNKoyTgZDGq3OyJIyvGi8BGs= X-Gm-Gg: AeBDietY9W+pwbVvyGfcfApoy661x/AsxAbb0xlKVd6BiBoGQ58fjXomGnwIotLF7oa HMf5zFBi+KF6UkhZP8tdHh1jkBLuGoWBzRoYWWnJYZQC9bnEK+ciNzT2FgcwY2QsDn+mikC0yS5 8hyqfszgWwwqH/IyxCrLMwBP4f6lwDZw39h3X3cU4bQoqFYN79Vvs5RYITExJf3v6N4o4+vpKpS UCeCK5qAvdpJBKPwN4aC+UVtG6ORkGiobWL5LspnuSWdIYY0OK1Dc8L8jVJqRstM/BHqZ5zZQO/ RTmgLg== X-Received: by 2002:a05:6402:1ed2:b0:66e:4372:8ea8 with SMTP id 4fb4d7f45d1cf-6707a0984a7mr112615a12.22.1775765667966; Thu, 09 Apr 2026 13:14:27 -0700 (PDT) MIME-Version: 1.0 References: <525d0f48-93f7-493f-a988-f39b460a79bc@gmail.com> In-Reply-To: From: Sami Imseih Date: Thu, 9 Apr 2026 15:14:15 -0500 X-Gm-Features: AQROBzDdLk7tsL08nXmMvTDbSeG9u08oIPgbU5JxraXPK5jnUzX3ViCtSiLIusk Message-ID: Subject: Re: test_autovacuum/001_parallel_autovacuum is broken To: Masahiko Sawada Cc: Alexander Lakhin , pgsql-hackers , Daniil Davydov <3danissimo@gmail.com> Content-Type: multipart/mixed; boundary="000000000000d82c6a064f0ca987" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000d82c6a064f0ca987 Content-Type: text/plain; charset="UTF-8" > Optionally, we can change the comment above to something like this: > # Wait until the parallel autovacuum on the table completes and reports the > # number of launched workers, which must correspond to the value specified in > # the reloption. Made the comment less verbose but in the same spirit as the above. > > > One way to fix the test is to replace log_contains() with > > > wait_for_log(). We can also remove wait_for_autovacuum_complete() > > > logic altogether. > > > > +1. I was going to reply with exactly this. Attached is the fix. > > Thank you for the patch! I agree with the overall idea. Since we > enable autovacuum log only the test_autovac table, just checking > autovacuum log works as expected. > > I think we can simplify the test further by removing the logic around > the av_count variable. removed av_count and pg_stat_user_tables query, but hardened the regexp a bit to ensure that the parallel logging is for the test_autovac table. It gives the same assurance as counting pg_stat_user_tables and will be better if we add another parallel test table in the future. -- Sami --000000000000d82c6a064f0ca987 Content-Type: application/octet-stream; name="v2-0001-Fix-unstable-log_contains-in-parallel-autovacuum-.patch" Content-Disposition: attachment; filename="v2-0001-Fix-unstable-log_contains-in-parallel-autovacuum-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mnrx0rc90 RnJvbSBkZmQwMTFiNDVhODg4MDEwNDM3MmQ3ZjI0ZjRlODVhMjcyNTJlZDE3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTYW1pIEltc2VpaCA8c2FtaW1zZWloQGdtYWlsLmNvbT4KRGF0 ZTogVGh1LCA5IEFwciAyMDI2IDIwOjA2OjAwICswMDAwClN1YmplY3Q6IFtQQVRDSCB2MiAxLzFd IEZpeCB1bnN0YWJsZSBsb2dfY29udGFpbnMgaW4gcGFyYWxsZWwgYXV0b3ZhY3V1bSB0ZXN0cwoK UmVwbGFjZSBsb2dfY29udGFpbnMgd2l0aCB3YWl0X2Zvcl9sb2cgaW4gdGhlIHBhcmFsbGVsIGF1 dG92YWN1dW0KdGVzdCB0byBlbnN1cmUgd2Ugd2FpdCBmb3IgdGhlIGxvZyBjb250YWluaW5nIHBh cmFsbGVsIHZhY3V1bSBpbmZvLgpSZW1vdmUgd2FpdF9mb3JfYXV0b3ZhY3V1bV9jb21wbGV0ZSBh cyB0aGUgbG9nIHdhaXQgaXMgc3VmZmljaWVudAp0byBkZXRlcm1pbmUgdmFjdXVtIGNvbXBsZXRp b24uIFRoZSBxdWVyeSB0byBwZ19zdGF0X3VzZXJfdGFibGVzCmZvciB2YWN1dW0gY291bnQgaXMg YWxzbyBubyBsb25nZXIgbmVlZGVkIHNpbmNlIHdlIG5vdyBlbnN1cmUgdGhlCnBhcmFsbGVsIGxv Z2dpbmcgaXMgYXNzb2NpYXRlZCB3aXRoIHRoZSB0ZXN0IHRhYmxlLgotLS0KIC4uLi90LzAwMV9w YXJhbGxlbF9hdXRvdmFjdXVtLnBsICAgICAgICAgICAgICB8IDMzICsrKystLS0tLS0tLS0tLS0t LS0KIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDI3IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9hdXRvdmFjdXVtL3QvMDAxX3BhcmFsbGVs X2F1dG92YWN1dW0ucGwgYi9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfYXV0b3ZhY3V1bS90LzAwMV9w YXJhbGxlbF9hdXRvdmFjdXVtLnBsCmluZGV4IGZjNGRkMjJmNWViLi4yMDZjOTVmOTE1NyAxMDA2 NDQKLS0tIGEvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2F1dG92YWN1dW0vdC8wMDFfcGFyYWxsZWxf YXV0b3ZhY3V1bS5wbAorKysgYi9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfYXV0b3ZhY3V1bS90LzAw MV9wYXJhbGxlbF9hdXRvdmFjdXVtLnBsCkBAIC0xNSw4ICsxNSw3IEBAIGlmICgkRU5We2VuYWJs ZV9pbmplY3Rpb25fcG9pbnRzfSBuZSAneWVzJykKIH0KIAogIyBCZWZvcmUgZWFjaCB0ZXN0IHdl IHNob3VsZCBkaXNhYmxlIGF1dG92YWN1dW0gZm9yICd0ZXN0X2F1dG92YWMnIHRhYmxlIGFuZAot IyBnZW5lcmF0ZSBzb21lIGRlYWQgdHVwbGVzIGluIGl0LiBSZXR1cm5zIHRoZSBjdXJyZW50IGF1 dG92YWN1dW1fY291bnQgb2YKLSMgdGhlIHRhYmxlIHRlc3RfYXV0b3ZhYy4KKyMgZ2VuZXJhdGUg c29tZSBkZWFkIHR1cGxlcyBpbiBpdC4KIHN1YiBwcmVwYXJlX2Zvcl9uZXh0X3Rlc3QKIHsKIAlt eSAoJG5vZGUsICR0ZXN0X251bWJlcikgPSBAXzsKQEAgLTI2LDI0ICsyNSw2IEBAIHN1YiBwcmVw YXJlX2Zvcl9uZXh0X3Rlc3QKIAkJQUxURVIgVEFCTEUgdGVzdF9hdXRvdmFjIFNFVCAoYXV0b3Zh Y3V1bV9lbmFibGVkID0gZmFsc2UpOwogCQlVUERBVEUgdGVzdF9hdXRvdmFjIFNFVCBjb2xfMSA9 ICR0ZXN0X251bWJlcjsKIAl9KTsKLQotCW15ICRjb3VudCA9ICRub2RlLT5zYWZlX3BzcWwoCi0J CSdwb3N0Z3JlcycsIHFxewotCQlTRUxFQ1QgYXV0b3ZhY3V1bV9jb3VudCBGUk9NIHBnX3N0YXRf dXNlcl90YWJsZXMgV0hFUkUgcmVsbmFtZSA9ICd0ZXN0X2F1dG92YWMnCi0JfSk7Ci0KLQlyZXR1 cm4gJGNvdW50OwotfQotCi0jIFdhaXQgZm9yIHRoZSB0YWJsZSB0byBiZSB2YWN1dW1lZCBieSBh biBhdXRvdmFjdXVtIHdvcmtlci4KLXN1YiB3YWl0X2Zvcl9hdXRvdmFjdXVtX2NvbXBsZXRlCi17 Ci0JbXkgKCRub2RlLCAkb2xkX2NvdW50KSA9IEBfOwotCi0JJG5vZGUtPnBvbGxfcXVlcnlfdW50 aWwoCi0JCSdwb3N0Z3JlcycsIHFxewotCQlTRUxFQ1QgYXV0b3ZhY3V1bV9jb3VudCA+ICRvbGRf Y291bnQgRlJPTSBwZ19zdGF0X3VzZXJfdGFibGVzIFdIRVJFIHJlbG5hbWUgPSAndGVzdF9hdXRv dmFjJwotCX0pOwogfQogCiBteSAkbm9kZSA9IFBvc3RncmVTUUw6OlRlc3Q6OkNsdXN0ZXItPm5l dygnbWFpbicpOwpAQCAtMTE5LDcgKzEwMCw3IEBAICRub2RlLT5zYWZlX3BzcWwoCiAjIE91ciB0 YWJsZSBoYXMgZW5vdWdoIGluZGV4ZXMgYW5kIGFwcHJvcHJpYXRlIHJlbG9wdGlvbnMsIHNvIGF1 dG92YWN1dW0gbXVzdAogIyBiZSBhYmxlIHRvIHByb2Nlc3MgaXQgaW4gcGFyYWxsZWwgbW9kZS4g SnVzdCBjaGVjayBpZiBpdCBjYW4gZG8gaXQuCiAKLW15ICRhdl9jb3VudCA9IHByZXBhcmVfZm9y X25leHRfdGVzdCgkbm9kZSwgMSk7CitwcmVwYXJlX2Zvcl9uZXh0X3Rlc3QoJG5vZGUsIDEpOwog bXkgJGxvZ19vZmZzZXQgPSAtcyAkbm9kZS0+bG9nZmlsZTsKIAogJG5vZGUtPnNhZmVfcHNxbCgK QEAgLTEyNywxOCArMTA4LDE2IEBAICRub2RlLT5zYWZlX3BzcWwoCiAJQUxURVIgVEFCTEUgdGVz dF9hdXRvdmFjIFNFVCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gdHJ1ZSk7CiB9KTsKIAotIyBXYWl0 IHVudGlsIHRoZSBwYXJhbGxlbCBhdXRvdmFjdXVtIG9uIHRhYmxlIGlzIGNvbXBsZXRlZC4gQXQg dGhlIHNhbWUgdGltZSwKLSMgd2UgY2hlY2sgdGhhdCB0aGUgcmVxdWlyZWQgbnVtYmVyIG9mIHBh cmFsbGVsIHdvcmtlcnMgaGFzIGJlZW4gc3RhcnRlZC4KLXdhaXRfZm9yX2F1dG92YWN1dW1fY29t cGxldGUoJG5vZGUsICRhdl9jb3VudCk7Ci1vayggJG5vZGUtPmxvZ19jb250YWlucygKLQkJcXIv cGFyYWxsZWwgd29ya2VyczogaW5kZXggdmFjdXVtOiAyIHBsYW5uZWQsIDIgbGF1bmNoZWQgaW4g dG90YWwvLAorIyBXYWl0IGZvciBwYXJhbGxlbCBhdXRvdmFjdXVtIHRvIGNvbXBsZXRlOyBjaGVj ayB3b3JrZXIgY291bnQgbWF0Y2hlcyByZWxvcHRpb25zLgorb2soICRub2RlLT53YWl0X2Zvcl9s b2coCisJCXFyL2F1dG9tYXRpYyB2YWN1dW0gb2YgdGFibGUgIi4qP1wuLio/XC50ZXN0X2F1dG92 YWMiOi4qP3BhcmFsbGVsIHdvcmtlcnM6IGluZGV4IHZhY3V1bTogMiBwbGFubmVkLCAyIGxhdW5j aGVkIGluIHRvdGFsL3MsCiAJCSRsb2dfb2Zmc2V0KSk7CiAKICMgVGVzdCAyOgogIyBDaGVjayB3 aGV0aGVyIHBhcmFsbGVsIGF1dG92YWN1dW0gbGVhZGVyIGNhbiBwcm9wYWdhdGUgY29zdC1iYXNl ZCBwYXJhbWV0ZXJzCiAjIHRvIHRoZSBwYXJhbGxlbCB3b3JrZXJzLgogCi0kYXZfY291bnQgPSBw cmVwYXJlX2Zvcl9uZXh0X3Rlc3QoJG5vZGUsIDIpOworcHJlcGFyZV9mb3JfbmV4dF90ZXN0KCRu b2RlLCAyKTsKICRsb2dfb2Zmc2V0ID0gLXMgJG5vZGUtPmxvZ2ZpbGU7CiAKICRub2RlLT5zYWZl X3BzcWwoCi0tIAoyLjUwLjEKCg== --000000000000d82c6a064f0ca987--