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 1w8eqT-000kjG-0O for pgsql-hackers@arkaria.postgresql.org; Fri, 03 Apr 2026 13:45:57 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w8eqR-00Bnht-1r for pgsql-hackers@arkaria.postgresql.org; Fri, 03 Apr 2026 13:45:56 +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 <3danissimo@gmail.com>) id 1w8eqR-00Bnhk-0n for pgsql-hackers@lists.postgresql.org; Fri, 03 Apr 2026 13:45:55 +0000 Received: from mail-yw1-x112e.google.com ([2607:f8b0:4864:20::112e]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from <3danissimo@gmail.com>) id 1w8eqP-00000000Nij-0RQK for pgsql-hackers@lists.postgresql.org; Fri, 03 Apr 2026 13:45:55 +0000 Received: by mail-yw1-x112e.google.com with SMTP id 00721157ae682-7927261a3acso17076037b3.0 for ; Fri, 03 Apr 2026 06:45:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775223951; cv=none; d=google.com; s=arc-20240605; b=ZtJ19GBaj175LqgGyg38pUr1Cs+xF74LzC9p3JgVS5t+CpxlFI847r6Ru+OnitaLDJ 0GWoKkWNmxSGC5nk+l1JAGMcyAEiOjAXfIPcAqPZjSwU4Ol5IFG07TBzwOt56dEW6YZ+ DUk7r/hBsOomynUrj/FK/83eCVNIO2NvRR0WSTvAendYMYSmfyGkEsgqZWXf2WRXuyMa Vicf3L12z/QvzsANFlGdPcebMSE7EqaxG6VYJO7l3AKcNfGDCsfhYRkiBEvulgnxUEM+ GBaNoUStUvWAGMxuhAnfXMsXFunpLOED/0xovwVrgQ2Se3o46albqo9IIU6bbKia4s9l Jk9A== 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=OB7DJ4eV5vIssacEPSzk58A0S0/6Ah2ZO2NeHobv6b0=; fh=IHvt1JgIFA4AnOte4ivKt4DgbR/rxXbmZdBxwJVKo/8=; b=Uwgbnn1vv94gT7GEaElZU2lsavjbDQvMC3awlmS7Pu5GNHiWO9/oqigpOs54CGvj6N h3grqJwstgPhOFCwLIC2dvldhl6fDBuv46jYHyqSusGQKlRs7uADqBcFzDmy9GI0/RK/ YEVoyPv0NlXTvQexOsRfdR+5MvCSxX37gvnEzsEDvpWCpSJHbeyuri+0j7XsWspkbFdP 5H7s9c/yFF7SpoNmyuaHJjayFpilpXxIZ8oovpErAvrV+u8Ba06jK2NfYUAQtCd8g7md isPT93HgAcnkqRa9Q0dKdB80Z6vTiL8yTaP27S2pFbLLmPgs2KnHiQPhyqfMbHQfNAMO AJIQ==; darn=lists.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=1775223951; x=1775828751; darn=lists.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=OB7DJ4eV5vIssacEPSzk58A0S0/6Ah2ZO2NeHobv6b0=; b=muRmQTYQtA3Oc4HBkL4ywt2xp7Bf7rNE81RJP/hqFW8tcDovEKMWKpZsgWnaLqD2Ib erF65ZQnnQIgmG2IivY04G8doEErkb8kRLpRuPDRY7rtVRFqsHvnhEmHvnBnERHA1H8g YrSlOqpBPfJaGy0i3xBSXQYe8LZ6VuRuoJqnWa4a5fxRj99klnyyy/cVNp0JPGWV1fKd vb4AScSuehiUQQtRDBVAf34HKKyJDZISxrTC5DFRK2Afso4PAMDjIFCiJTICe9mw9Bo9 Ee6kdoYJ3HwBL8VQcridEldijcB6ZK8KDE5UpwGjWKTgMB4SDMBzXM31z2+BBU2i7v8x wH1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775223951; x=1775828751; 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=OB7DJ4eV5vIssacEPSzk58A0S0/6Ah2ZO2NeHobv6b0=; b=gipQHET9RYz3vpqnQZQGYv1a49WLBGT4UQdKmr4JAxpBRjs52O/XF24a6cgjLvuxCn HN/Zcq4euPmUzLW/poI0XaK/HzpWG//cmDs7xN3lGJnSq5EVWRdtrZIPHMAWhYw3CdLD PpSjbqeE1tRJS8zNSaJgw01PysHX3at1/kWf9r8BNDU3PDDrkZdBc6/VSpJl5ZvokdsL 55CUgjBfYFDAj/dRgsRZmZ+ZVYxiVbAmgbmOrJIZLn/QtnHqbHfsIktOCr/S8V83OvIy Mw9Jh3RO3BwjQN3Dn04ORrFDRa1M+iL/d2HXost3OQc8XZqSXcCkscXfdW5clU5cvQjM OYSg== X-Forwarded-Encrypted: i=1; AJvYcCXdkClZBNrEPzIriuC5FDLDZd8BPKrvmksvxc+xPM8GFtu3d6lP9+z+VUTCtpu+SRUBToJ60w41ICrXMfAV@lists.postgresql.org X-Gm-Message-State: AOJu0Yx1AM7+OyKYk73baqaOkw1E/2R6zMLQuVyoIo3WMaw/l4aX1Xf1 UgOz4X72MGaUiXUzwXALwZWCyfoySQ+mVr54IR7qLTsYyDwzais59ew7Bad1eX1Qv8mH4u8HN2i cnHqaIz3Y9A8rF6rLoCz2Kw2wW3T5F+o= X-Gm-Gg: AeBDietbplSaFXSOUoTwsgyxCTrv9eqUYXNobD9AcjSkFcjEUqM6sN8POtg1Mwrd0Po jzNPuwUxHmmt/6mpbhyLBRSY1GDQcp8tdeQKugI2Y8LXiC4ns6MXXYweA+9HkeKE79/XjT4LQB2 mfNmZ4NHxGXjNd6a+P5WxgNQL/O25iVfj32qC3zVTy5TJB9wnxPaqvFabkpduBHFBKT7+WeFDI9 5r6doe/o2nLFncOGiq0A4EmLMe4kn0boned9loR7dFccp8SVmQu4s0zpBrmAtfBRFt+ihKlEtT1 GFZQbMCf X-Received: by 2002:a05:690c:4806:b0:79a:7ff5:93c4 with SMTP id 00721157ae682-7a4d6b311bbmr32117937b3.18.1775223951084; Fri, 03 Apr 2026 06:45:51 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Daniil Davydov <3danissimo@gmail.com> Date: Fri, 3 Apr 2026 20:45:39 +0700 X-Gm-Features: AQROBzDu5-DU_pWHmR6pM7Ksnd6AfDX2EB8-rEL-IaOOaqZQEs8xt5m_8VfSNgY Message-ID: Subject: Re: POC: Parallel processing of indexes in autovacuum To: Masahiko Sawada Cc: Alexander Korotkov , SATYANARAYANA NARLAPURAM , Bharath Rupireddy , Sami Imseih , Matheus Alcantara , Maxim Orlov , Postgres hackers Content-Type: multipart/mixed; boundary="000000000000008311064e8e89a7" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000008311064e8e89a7 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, On Fri, Apr 3, 2026 at 6:00=E2=80=AFAM Masahiko Sawada wrote: > > On Thu, Apr 2, 2026 at 8:10=E2=80=AFAM Daniil Davydov <3danissimo@gmail.c= om> wrote: > > > > I think we should add some cleanup for autovacuum near the ParallelCont= ext > > cleanup, since they are interconnected. I also want to return our tests= that > > are triggering ERROR/PANIC in the leader worker in order to check wheth= er all > > resources are released. I hope I will be able to get to that by tomorro= w > > evening. > > I think that the beginning of vacuum loop (in PG_TRY() block in > vacuum()) seems better place as we're resetting vacuum delay > parameters: > > in_vacuum =3D true; > VacuumFailsafeActive =3D false; > VacuumUpdateCosts(); > VacuumCostBalance =3D 0; > VacuumCostBalanceLocal =3D 0; > VacuumSharedCostBalance =3D NULL; > VacuumActiveNWorkers =3D NULL; > I am still thinking that this pointer is related to the ParallelContext, an= d it is a bit confusing that we can manipulate it outside all "parallel" logic. Since this variable points to the DSM it looks very natural for me if its lifetime will be similar to the DSM. Please, see attached patch, that reset= s this pointer during dsm detaching. -- Best regards, Daniil Davydov --000000000000008311064e8e89a7 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Reset-pointer-into-the-going-away-DSM.patch" Content-Disposition: attachment; filename="0001-Reset-pointer-into-the-going-away-DSM.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mniyfyzb0 RnJvbSA1MDA1MmI0MWI5YThkYzI3MDcyMGMwMzI1YjNhZmMyNzBlOGY5YjVjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEYW5paWwgRGF2aWRvdiA8ZC5kYXZ5ZG92QHBvc3RncmVzcHJv LnJ1PgpEYXRlOiBGcmksIDMgQXByIDIwMjYgMjA6MzE6MTEgKzA3MDAKU3ViamVjdDogW1BBVENI XSBSZXNldCBwb2ludGVyIGludG8gdGhlIGdvaW5nIGF3YXkgRFNNCgotLS0KIHNyYy9iYWNrZW5k L2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMgfCAxMyArKysrKysrKysrKysrCiAxIGZpbGUgY2hh bmdlZCwgMTMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRz L3ZhY3V1bXBhcmFsbGVsLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5j CmluZGV4IGJhYzNiZDI4MjE0Li5hMDFhY2U5MzQzYyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv Y29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1 dW1wYXJhbGxlbC5jCkBAIC0yOTQsNiArMjk0LDcgQEAgc3RhdGljIGJvb2wgcGFyYWxsZWxfdmFj dXVtX2luZGV4X2lzX3BhcmFsbGVsX3NhZmUoUmVsYXRpb24gaW5kcmVsLCBpbnQgbnVtX2luZGUK IAkJCQkJCQkJCQkJCSAgIGJvb2wgdmFjdXVtKTsKIHN0YXRpYyB2b2lkIHBhcmFsbGVsX3ZhY3V1 bV9lcnJvcl9jYWxsYmFjayh2b2lkICphcmcpOwogc3RhdGljIGlubGluZSB2b2lkIHBhcmFsbGVs X3ZhY3V1bV9zZXRfY29zdF9wYXJhbWV0ZXJzKFBWU2hhcmVkQ29zdFBhcmFtcyAqcGFyYW1zKTsK K3N0YXRpYyB2b2lkIHBhcmFsbGVsX3ZhY3V1bV9jbGVhbnVwKGRzbV9zZWdtZW50ICpzZWcsIERh dHVtIGFyZyk7CiAKIC8qCiAgKiBUcnkgdG8gZW50ZXIgcGFyYWxsZWwgbW9kZSBhbmQgY3JlYXRl IGEgcGFyYWxsZWwgY29udGV4dC4gIFRoZW4gaW5pdGlhbGl6ZQpAQCAtNDY3LDYgKzQ2OCw3IEBA IHBhcmFsbGVsX3ZhY3V1bV9pbml0KFJlbGF0aW9uIHJlbCwgUmVsYXRpb24gKmluZHJlbHMsIGlu dCBuaW5kZXhlcywKIAkJU3BpbkxvY2tJbml0KCZzaGFyZWQtPmNvc3RfcGFyYW1zLm11dGV4KTsK IAogCQlwdl9zaGFyZWRfY29zdF9wYXJhbXMgPSAmKHNoYXJlZC0+Y29zdF9wYXJhbXMpOworCQlv bl9kc21fZGV0YWNoKHBjeHQtPnNlZywgcGFyYWxsZWxfdmFjdXVtX2NsZWFudXAsIChEYXR1bSkg MCk7CiAJfQogCiAJc2htX3RvY19pbnNlcnQocGN4dC0+dG9jLCBQQVJBTExFTF9WQUNVVU1fS0VZ X1NIQVJFRCwgc2hhcmVkKTsKQEAgLTU0MSw2ICs1NDMsMTcgQEAgcGFyYWxsZWxfdmFjdXVtX2Vu ZChQYXJhbGxlbFZhY3V1bVN0YXRlICpwdnMsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqKmlzdGF0 cykKIAlwZnJlZShwdnMpOwogfQogCisvKgorICogQ2xlYW51cCBmb3IgcGFyYWxsZWwgYXV0b3Zh Y3V1bS4KKyAqLworc3RhdGljIHZvaWQKK3BhcmFsbGVsX3ZhY3V1bV9jbGVhbnVwKGRzbV9zZWdt ZW50ICpzZWcsIERhdHVtIGFyZykKK3sKKwkvKiBXZSBuZWVkIHRvIHJlc2V0IGFsbCBwb2ludGVy cyBpbnRvIHRoZSBEU00gdGhhdCBpcyBnb2luZyBhd2F5ICovCisJQXNzZXJ0KEFtQXV0b1ZhY3V1 bVdvcmtlclByb2Nlc3MoKSk7CisJcHZfc2hhcmVkX2Nvc3RfcGFyYW1zID0gTlVMTDsKK30KKwog LyoKICAqIFJldHVybnMgdGhlIGRlYWQgaXRlbXMgc3BhY2UgYW5kIGRlYWQgaXRlbXMgaW5mb3Jt YXRpb24uCiAgKi8KLS0gCjIuNDMuMAoK --000000000000008311064e8e89a7--