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 1qMj5y-0038dN-F9 for pgsql-hackers@arkaria.postgresql.org; Fri, 21 Jul 2023 05:54:30 +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 1qMj5w-00CRVB-O5 for pgsql-hackers@arkaria.postgresql.org; Fri, 21 Jul 2023 05:54:28 +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.94.2) (envelope-from ) id 1qMj5w-00CRV3-Aa for pgsql-hackers@lists.postgresql.org; Fri, 21 Jul 2023 05:54:28 +0000 Received: from mail-lf1-x133.google.com ([2a00:1450:4864:20::133]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1qMj5p-000dGs-IC for pgsql-hackers@lists.postgresql.org; Fri, 21 Jul 2023 05:54:27 +0000 Received: by mail-lf1-x133.google.com with SMTP id 2adb3069b0e04-4f122ff663eso2431201e87.2 for ; Thu, 20 Jul 2023 22:54:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1689918860; x=1690523660; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=ossPlciJDxTvYEa3teD3WsQRgCG+ZQhWWw6XSWAXxh0=; b=oyTZ6/MKsnsvxL9Fn3y5N/S2+rOIQzlKHCrtONlxYHgiPFkTd802x+D9sNfVwaICE3 Kv6BmUlZfnyqzL3+A3N30Vb9sbC3cf4OJ9d4gEq4ZuA7ryDz5RpR4DmkOOEN3oTJOzB6 w4ipydQKvSUs7Lgbt01nuhD0NacDklLZjSAwKIgNup3VA4EQZZSOOfK8tIiDfJcGf2rK v0QIIeLGqpjJYNhhq30w/lX7k8o2/TTXlJdYTNch+P4O7ZTU7qjFvlfNUqDsCFOOGERf Yxku40zEFYix+y56YnaFtjj2H8zcoNr4rXamcVoItHG8UbXU7u/ECEsgu8wf/g9tSWzY 8Oaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689918860; x=1690523660; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ossPlciJDxTvYEa3teD3WsQRgCG+ZQhWWw6XSWAXxh0=; b=d81TfVrWkm32Q1ApocHmzRv2OunRtMGfqoo/M46MPqiPplvfS2MdbDisYixHGsOlDo FYXx6rt3KErV+5IXFPYGBykHNs7vyh8dzK5u0d7OavYDmjNwzOa49qxnN3+5Lrsz8kSb YuuveCnfYVcCEWkTG6rTURr7xA6o3OTmCAKrrT7lY2d9A1ySm5Z6ajG5OpBLew5IdpCE MNQEXEg8bjB/LLMQ5vR9Mc56eYivIFTkGGtoj2250aenY1hOn8E+u9WAjFtIa1b3neEz 6EjqE2kiM83RHik+LYLSnAXjNN/+crOY+6Y5AKKNsl0x7abWVteAcVjQu4agnHjHwNYo 2bIw== X-Gm-Message-State: ABy/qLY3b/5KXmvseNJhfksum3RVJJVpDKwZs2ZsRDUAB0/1vNsj00JK IoZZYZgJma9zZnj5MPsML0RUMO9/CXW5nahL4pw= X-Google-Smtp-Source: APBJJlFDxouDtOyrrUh8PYEBpCHNmOgpyc3dySnCQnSpuOaB2Sje2dH5pmjs03txbAdu45m02pFuOjDhRCVmBIWG8+Q= X-Received: by 2002:a2e:a30d:0:b0:2b9:53bd:47a7 with SMTP id l13-20020a2ea30d000000b002b953bd47a7mr753754lje.30.1689918859525; Thu, 20 Jul 2023 22:54:19 -0700 (PDT) MIME-Version: 1.0 References: <46e53055d8d1c92704d3cd2709c722e7@oss.nttdata.com> In-Reply-To: From: Bharath Rupireddy Date: Fri, 21 Jul 2023 11:24:08 +0530 Message-ID: Subject: Re: Support worker_spi to execute the function dynamically. To: Michael Paquier Cc: Masahiro Ikeda , pgsql-hackers@lists.postgresql.org Content-Type: multipart/mixed; boundary="00000000000052936f0600f8e518" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000052936f0600f8e518 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, Jul 21, 2023 at 8:38=E2=80=AFAM Michael Paquier wrote: > > On Thu, Jul 20, 2023 at 03:44:12PM +0530, Bharath Rupireddy wrote: > > I don't think that change is correct. The worker_spi essentially shows > > how to start bg workers with RegisterBackgroundWorker and dynamic bg > > workers with RegisterDynamicBackgroundWorker. If > > shared_preload_libraries =3D worker_spi not specified in there, you wil= l > > miss to start RegisterBackgroundWorkers. Is giving an initidb time > > database name to worker_spi.database work there? If the database for > > bg workers doesn't exist, changing bgw_restart_time from > > BGW_NEVER_RESTART to say 1 will help to see bg workers coming up > > eventually. > > Yeah, it does not move the needle by much. I think that we are > looking at switching this module to use a TAP test in the long term, > instead, where it would be possible to test the scenarios we want to > look at *with* and *without* shared_preload_libraries especially with > the custom wait events for extensions in mind if we add our tests in > this module. Okay. Here's a quick patch for adding TAP tests to the worker_spi module. We can change it to taste. Thoughts? --=20 Bharath Rupireddy PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com --00000000000052936f0600f8e518 Content-Type: application/octet-stream; name="v1-0001-Add-TAP-tests-to-worker_spi-module.patch" Content-Disposition: attachment; filename="v1-0001-Add-TAP-tests-to-worker_spi-module.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lkc60plj0 RnJvbSA1OGM5ZjMzYzJlNmUwYTJhYTZiMTQ2NmJlNGYxODZlNWU2ODNhZmMxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBCaGFyYXRoIFJ1cGlyZWRkeSA8YmhhcmF0aC5ydXBpcmVkZHlm b3Jwb3N0Z3Jlc0BnbWFpbC5jb20+CkRhdGU6IEZyaSwgMjEgSnVsIDIwMjMgMDU6NTI6MzIgKzAw MDAKU3ViamVjdDogW1BBVENIIHYxXSBBZGQgVEFQIHRlc3RzIHRvIHdvcmtlcl9zcGkgbW9kdWxl CgotLS0KIHNyYy90ZXN0L21vZHVsZXMvd29ya2VyX3NwaS9NYWtlZmlsZSAgICAgICAgICB8ICAy ICsKIHNyYy90ZXN0L21vZHVsZXMvd29ya2VyX3NwaS9keW5hbWljLmNvbmYgICAgICB8ICAzICst CiBzcmMvdGVzdC9tb2R1bGVzL3dvcmtlcl9zcGkvbWVzb24uYnVpbGQgICAgICAgfCAgNSArKwog Li4uL21vZHVsZXMvd29ya2VyX3NwaS90LzAwMV93b3JrZXJfc3BpLnBsICAgIHwgNTIgKysrKysr KysrKysrKysrKysrKwogc3JjL3Rlc3QvbW9kdWxlcy93b3JrZXJfc3BpL3dvcmtlcl9zcGkuYyAg ICAgIHwgIDggKy0tCiA1IGZpbGVzIGNoYW5nZWQsIDY1IGluc2VydGlvbnMoKyksIDUgZGVsZXRp b25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvbW9kdWxlcy93b3JrZXJfc3BpL3Qv MDAxX3dvcmtlcl9zcGkucGwKCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1bGVzL3dvcmtlcl9z cGkvTWFrZWZpbGUgYi9zcmMvdGVzdC9tb2R1bGVzL3dvcmtlcl9zcGkvTWFrZWZpbGUKaW5kZXgg Y2JmOWIyZTM3Zi4uM2Y2MzA2ODUxNCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvbW9kdWxlcy93b3Jr ZXJfc3BpL01ha2VmaWxlCisrKyBiL3NyYy90ZXN0L21vZHVsZXMvd29ya2VyX3NwaS9NYWtlZmls ZQpAQCAtMTQsNiArMTQsOCBAQCBSRUdSRVNTX09QVFMgPSAtLXRlbXAtY29uZmlnICQodG9wX3Ny Y2Rpcikvc3JjL3Rlc3QvbW9kdWxlcy93b3JrZXJfc3BpL2R5bmFtaWMuYwogIyBEaXNhYmxlIGlu c3RhbGxjaGVjayB0byBlbnN1cmUgd2UgY292ZXIgZHluYW1pYyBiZ3dvcmtlcnMuCiBOT19JTlNU QUxMQ0hFQ0sgPSAxCiAKK1RBUF9URVNUUyA9IDEKKwogaWZkZWYgVVNFX1BHWFMKIFBHX0NPTkZJ RyA9IHBnX2NvbmZpZwogUEdYUyA6PSAkKHNoZWxsICQoUEdfQ09ORklHKSAtLXBneHMpCmRpZmYg LS1naXQgYS9zcmMvdGVzdC9tb2R1bGVzL3dvcmtlcl9zcGkvZHluYW1pYy5jb25mIGIvc3JjL3Rl c3QvbW9kdWxlcy93b3JrZXJfc3BpL2R5bmFtaWMuY29uZgppbmRleCBiZmUwMTVmNjY0Li43MTIy MWQ4YTNlIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9tb2R1bGVzL3dvcmtlcl9zcGkvZHluYW1pYy5j b25mCisrKyBiL3NyYy90ZXN0L21vZHVsZXMvd29ya2VyX3NwaS9keW5hbWljLmNvbmYKQEAgLTEs MiArMSwzIEBACi1zaGFyZWRfcHJlbG9hZF9saWJyYXJpZXMgPSB3b3JrZXJfc3BpCisjIExldCdz IGRpc2FibGUgc3RhdGljIGJnIHdvcmtlcnMgaW4gU1FMIHRlc3RzIGFuZCBlbmFibGUgdGhlbSBp biBUQVAgdGVzdHMKK3dvcmtlcl9zcGkudG90YWxfd29ya2VycyA9IDAKIHdvcmtlcl9zcGkuZGF0 YWJhc2UgPSBjb250cmliX3JlZ3Jlc3Npb24KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L21vZHVsZXMv d29ya2VyX3NwaS9tZXNvbi5idWlsZCBiL3NyYy90ZXN0L21vZHVsZXMvd29ya2VyX3NwaS9tZXNv bi5idWlsZAppbmRleCBhOGNkZmRlYjM2Li4yOWVlODc1NjkwIDEwMDY0NAotLS0gYS9zcmMvdGVz dC9tb2R1bGVzL3dvcmtlcl9zcGkvbWVzb24uYnVpbGQKKysrIGIvc3JjL3Rlc3QvbW9kdWxlcy93 b3JrZXJfc3BpL21lc29uLmJ1aWxkCkBAIC0zMyw0ICszMyw5IEBAIHRlc3RzICs9IHsKICAgICAn cmVncmVzc19hcmdzJzogWyctLXRlbXAtY29uZmlnJywgZmlsZXMoJ2R5bmFtaWMuY29uZicpXSwK ICAgICAncnVubmluZ2NoZWNrJzogZmFsc2UsCiAgIH0sCisgICd0YXAnOiB7CisgICAgJ3Rlc3Rz JzogWworICAgICAgJ3QvMDAxX3dvcmtlcl9zcGkucGwnLAorICAgIF0sCisgIH0sCiB9CmRpZmYg LS1naXQgYS9zcmMvdGVzdC9tb2R1bGVzL3dvcmtlcl9zcGkvdC8wMDFfd29ya2VyX3NwaS5wbCBi L3NyYy90ZXN0L21vZHVsZXMvd29ya2VyX3NwaS90LzAwMV93b3JrZXJfc3BpLnBsCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLmU3ZGM2YmUwNzAKLS0tIC9kZXYvbnVsbAor KysgYi9zcmMvdGVzdC9tb2R1bGVzL3dvcmtlcl9zcGkvdC8wMDFfd29ya2VyX3NwaS5wbApAQCAt MCwwICsxLDUyIEBACisjIENvcHlyaWdodCAoYykgMjAyMS0yMDIzLCBQb3N0Z3JlU1FMIEdsb2Jh bCBEZXZlbG9wbWVudCBHcm91cAorCisjIFRlc3QgcmVwbGljYXRpb24gc3RhdGlzdGljcyBkYXRh IGluIHBnX3N0YXRfcmVwbGljYXRpb25fc2xvdHMgaXMgc2FuZSBhZnRlcgorIyBkcm9wIHJlcGxp Y2F0aW9uIHNsb3QgYW5kIHJlc3RhcnQuCit1c2Ugc3RyaWN0OwordXNlIHdhcm5pbmdzOwordXNl IFBvc3RncmVTUUw6OlRlc3Q6OkNsdXN0ZXI7Cit1c2UgUG9zdGdyZVNRTDo6VGVzdDo6VXRpbHM7 Cit1c2UgVGVzdDo6TW9yZTsKKworIyBUZXN0IHNldC11cAorbXkgJG5vZGUgPSBQb3N0Z3JlU1FM OjpUZXN0OjpDbHVzdGVyLT5uZXcoJ215bm9kZScpOworJG5vZGUtPmluaXQ7Ciskbm9kZS0+c3Rh cnQ7CisKKyRub2RlLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgcShDUkVBVEUgREFUQUJBU0UgbXlk YjspKTsKKworJG5vZGUtPmFwcGVuZF9jb25mKCdwb3N0Z3Jlc3FsLmNvbmYnLCBxeworc2hhcmVk X3ByZWxvYWRfbGlicmFyaWVzID0gJ3dvcmtlcl9zcGknCit3b3JrZXJfc3BpLmRhdGFiYXNlID0g J215ZGInCit3b3JrZXJfc3BpLnRvdGFsX3dvcmtlcnMgPSAzCit9KTsKKyRub2RlLT5yZXN0YXJ0 OworCiskbm9kZS0+c2FmZV9wc3FsKCdteWRiJywgJ0NSRUFURSBFWFRFTlNJT04gd29ya2VyX3Nw aTsnKTsKKworIyBWZXJpZnkgdGhhdCB3b3JrZXJfc3BpIHN0YXRpYyBiZyB3b3JrZXJzIGhhdmUg YmVlbiBsYXVuY2hlZC4KK29rKCAkbm9kZS0+cG9sbF9xdWVyeV91bnRpbCgKKyAgICAgICAgJ215 ZGInLAorICAgICAgICBxcVtTRUxFQ1QgY291bnQoKikgPSAzIEZST00gcGdfc3RhdF9hY3Rpdml0 eQorICAgICAgICAgICAgV0hFUkUgYmFja2VuZF90eXBlID0gJ3dvcmtlcl9zcGkgc3RhdGljIHdv cmtlcic7XSwKKyAgICAgICAgJ3QnKSwKKyAgICAnd29ya2VyX3NwaSBzdGF0aWMgYmcgd29ya2Vy cyBsYXVuY2hlZCcKKykgb3IgZGllICJUaW1lZCBvdXQgd2hpbGUgd2FpdGluZyBmb3Igd29ya2Vy X3NwaSBzdGF0aWMgYmcgd29ya2VycyB0byBiZSBsYXVuY2hlZCI7CisKKyMgQXNrIHdvcmtlcl9z cGkgdG8gbGF1bmNoIGR5bmFtaWMgYmcgd29ya2VycworbXkgJHdvcmtlcjFfcGlkID0gJG5vZGUt PnNhZmVfcHNxbCgnbXlkYicsICdTRUxFQ1Qgd29ya2VyX3NwaV9sYXVuY2goMSk7Jyk7CitteSAk d29ya2VyMl9waWQgPSAkbm9kZS0+c2FmZV9wc3FsKCdteWRiJywgJ1NFTEVDVCB3b3JrZXJfc3Bp X2xhdW5jaCgyKTsnKTsKKworIyBWZXJpZnkgdGhhdCB3b3JrZXJfc3BpIGR5bmFtaWMgYmcgd29y a2VycyBoYXZlIGJlZW4gbGF1bmNoZWQuCitvayggJG5vZGUtPnBvbGxfcXVlcnlfdW50aWwoCisg ICAgICAgICdteWRiJywKKyAgICAgICAgcXFbU0VMRUNUIGNvdW50KCopID0gMiBGUk9NIHBnX3N0 YXRfYWN0aXZpdHkKKyAgICAgICAgICAgIFdIRVJFIGJhY2tlbmRfdHlwZSA9ICd3b3JrZXJfc3Bp IGR5bmFtaWMgd29ya2VyJyBBTkQKKyAgICAgICAgICAgIHBpZCBJTiAoJHdvcmtlcjFfcGlkLCAk d29ya2VyMl9waWQpO10sCisgICAgICAgICd0JyksCisgICAgJ3dvcmtlcl9zcGkgZHluYW1pYyBi ZyB3b3JrZXJzIGxhdW5jaGVkJworKSBvciBkaWUgIlRpbWVkIG91dCB3aGlsZSB3YWl0aW5nIGZv ciB3b3JrZXJfc3BpIGR5bmFtaWMgYmcgd29ya2VycyB0byBiZSBsYXVuY2hlZCI7CisKKyRub2Rl LT5zdG9wOworCitkb25lX3Rlc3RpbmcoKTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L21vZHVsZXMv d29ya2VyX3NwaS93b3JrZXJfc3BpLmMgYi9zcmMvdGVzdC9tb2R1bGVzL3dvcmtlcl9zcGkvd29y a2VyX3NwaS5jCmluZGV4IGFkYTBmYjhhYzcuLjU2NzYwNzMyMTggMTAwNjQ0Ci0tLSBhL3NyYy90 ZXN0L21vZHVsZXMvd29ya2VyX3NwaS93b3JrZXJfc3BpLmMKKysrIGIvc3JjL3Rlc3QvbW9kdWxl cy93b3JrZXJfc3BpL3dvcmtlcl9zcGkuYwpAQCAtMzQzLDggKzM0Myw4IEBAIF9QR19pbml0KHZv aWQpCiAJICovCiAJZm9yIChpbnQgaSA9IDE7IGkgPD0gd29ya2VyX3NwaV90b3RhbF93b3JrZXJz OyBpKyspCiAJewotCQlzbnByaW50Zih3b3JrZXIuYmd3X25hbWUsIEJHV19NQVhMRU4sICJ3b3Jr ZXJfc3BpIHdvcmtlciAlZCIsIGkpOwotCQlzbnByaW50Zih3b3JrZXIuYmd3X3R5cGUsIEJHV19N QVhMRU4sICJ3b3JrZXJfc3BpIik7CisJCXNucHJpbnRmKHdvcmtlci5iZ3dfbmFtZSwgQkdXX01B WExFTiwgIndvcmtlcl9zcGkgc3RhdGljIHdvcmtlciAlZCIsIGkpOworCQlzbnByaW50Zih3b3Jr ZXIuYmd3X3R5cGUsIEJHV19NQVhMRU4sICJ3b3JrZXJfc3BpIHN0YXRpYyB3b3JrZXIiKTsKIAkJ d29ya2VyLmJnd19tYWluX2FyZyA9IEludDMyR2V0RGF0dW0oaSk7CiAKIAkJUmVnaXN0ZXJCYWNr Z3JvdW5kV29ya2VyKCZ3b3JrZXIpOwpAQCAtMzcwLDggKzM3MCw4IEBAIHdvcmtlcl9zcGlfbGF1 bmNoKFBHX0ZVTkNUSU9OX0FSR1MpCiAJd29ya2VyLmJnd19yZXN0YXJ0X3RpbWUgPSBCR1dfTkVW RVJfUkVTVEFSVDsKIAlzcHJpbnRmKHdvcmtlci5iZ3dfbGlicmFyeV9uYW1lLCAid29ya2VyX3Nw aSIpOwogCXNwcmludGYod29ya2VyLmJnd19mdW5jdGlvbl9uYW1lLCAid29ya2VyX3NwaV9tYWlu Iik7Ci0Jc25wcmludGYod29ya2VyLmJnd19uYW1lLCBCR1dfTUFYTEVOLCAid29ya2VyX3NwaSB3 b3JrZXIgJWQiLCBpKTsKLQlzbnByaW50Zih3b3JrZXIuYmd3X3R5cGUsIEJHV19NQVhMRU4sICJ3 b3JrZXJfc3BpIik7CisJc25wcmludGYod29ya2VyLmJnd19uYW1lLCBCR1dfTUFYTEVOLCAid29y a2VyX3NwaSBkeW5hbWljIHdvcmtlciAlZCIsIGkpOworCXNucHJpbnRmKHdvcmtlci5iZ3dfdHlw ZSwgQkdXX01BWExFTiwgIndvcmtlcl9zcGkgZHluYW1pYyB3b3JrZXIiKTsKIAl3b3JrZXIuYmd3 X21haW5fYXJnID0gSW50MzJHZXREYXR1bShpKTsKIAkvKiBzZXQgYmd3X25vdGlmeV9waWQgc28g dGhhdCB3ZSBjYW4gdXNlIFdhaXRGb3JCYWNrZ3JvdW5kV29ya2VyU3RhcnR1cCAqLwogCXdvcmtl ci5iZ3dfbm90aWZ5X3BpZCA9IE15UHJvY1BpZDsKLS0gCjIuMzQuMQoK --00000000000052936f0600f8e518--