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 1qMPdv-002Kz2-Sl for pgsql-hackers@arkaria.postgresql.org; Thu, 20 Jul 2023 09:08:15 +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 1qMPdt-003cwp-7M for pgsql-hackers@arkaria.postgresql.org; Thu, 20 Jul 2023 09:08:13 +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.94.2) (envelope-from ) id 1qMPds-003cwg-Sr for pgsql-hackers@lists.postgresql.org; Thu, 20 Jul 2023 09:08:12 +0000 Received: from oss.nttdata.com ([49.212.34.109]) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qMPdn-000cHi-Rg for pgsql-hackers@lists.postgresql.org; Thu, 20 Jul 2023 09:08:11 +0000 Received: from oss.nttdata.com (localhost [127.0.0.1]) by oss.nttdata.com (Postfix) with ESMTPA id 3C598607B9; Thu, 20 Jul 2023 18:08:04 +0900 (JST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.8 at oss.nttdata.com MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_ca94ef72a11bb2599399aff0b07cd4f8" Content-Transfer-Encoding: 8bit Date: Thu, 20 Jul 2023 18:08:04 +0900 From: Masahiro Ikeda To: Bharath Rupireddy Cc: Michael Paquier , pgsql-hackers@lists.postgresql.org Subject: Re: Support worker_spi to execute the function dynamically. In-Reply-To: References: User-Agent: Roundcube Webmail/1.4.11 Message-ID: <46e53055d8d1c92704d3cd2709c722e7@oss.nttdata.com> X-Sender: ikedamsh@oss.nttdata.com List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=_ca94ef72a11bb2599399aff0b07cd4f8 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8; format=flowed Hi, On 2023-07-20 13:50, Bharath Rupireddy wrote: > On Thu, Jul 20, 2023 at 10:09 AM Michael Paquier > wrote: >> >> On Thu, Jul 20, 2023 at 09:43:37AM +0530, Bharath Rupireddy wrote: >> > +1. However, a comment above helps one to understand why some GUCs are >> > defined before if (!process_shared_preload_libraries_in_progress). As >> > this is an example extension, it will help understand the reasoning >> > better. I know we will it in the commit message, but a direct comment >> > helps: >> > >> > /* >> > * Note that this GUC is defined irrespective of worker_spi shared library >> > * presence in shared_preload_libraries. It's possible to create the >> > * worker_spi extension and use functions without it being specified in >> > * shared_preload_libraries. If we return from here without defining this >> > * GUC, the dynamic workers launched by worker_spi_launch() will keep >> > * crashing and restarting. >> > */ >> >> WFM to be more talkative here and document things, but I don't think >> that's it. How about a simple "These GUCs are defined even if this >> library is not loaded with shared_preload_libraries, for >> worker_spi_launch()." > > LGTM. Thanks for discussing about the patch. I updated the patch from your comments * v2-0001-Support-worker_spi-to-execute-the-function-dynamical.patch I found another thing to be changed better. Though the tests was assumed "shared_preload_libraries = worker_spi", the background workers failed to be launched in initialized phase because the database is not created yet. ``` # make check # in src/test/modules/worker_spi # cat log/postmaster.log # in src/test/modules/worker_spi/ 2023-07-20 17:58:47.958 JST worker_spi[853620] FATAL: database "contrib_regression" does not exist 2023-07-20 17:58:47.958 JST worker_spi[853621] FATAL: database "contrib_regression" does not exist 2023-07-20 17:58:47.959 JST postmaster[853612] LOG: background worker "worker_spi" (PID 853620) exited with exit code 1 2023-07-20 17:58:47.959 JST postmaster[853612] LOG: background worker "worker_spi" (PID 853621) exited with exit code 1 ``` It's better to remove "shared_preload_libraries = worker_spi" from the test configuration. I misunderstood that two background workers would be launched and waiting at the start of the test. Regards, -- Masahiro Ikeda NTT DATA CORPORATION --=_ca94ef72a11bb2599399aff0b07cd4f8 Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=v2-0001-Support-worker_spi-to-execute-the-function-dynamical.patch Content-Disposition: attachment; filename*0*=UTF-8''v2-0001-Support-worker_spi-to-execute-the-function-dyn; filename*1*=amical.patch; size=3778 RnJvbSAwMmVmMGQ4ZGFkZGQ0MzMwNTg0Mjk4N2E2YWVhYzY3MzJiMjQxNWE5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXNhaGlybyBJa2VkYSA8bWFzYWhpcm8uaWtlZGEudXNAaGNv Lm50dC5jby5qcD4KRGF0ZTogVGh1LCAyMCBKdWwgMjAyMyAxMDozNDo1MCArMDkwMApTdWJqZWN0 OiBbUEFUQ0hdIFN1cHBvcnQgd29ya2VyX3NwaSB0byBleGVjdXRlIHRoZSBmdW5jdGlvbiBkeW5h bWljYWxseS4KCkN1cnJlbnRseSwgdGhlIGRhdGFiYXNlIG5hbWUgdG8gY29ubmVjdCBpcyBpbml0 aWFsaXplZCBvbmx5CndoZW4gcHJvY2Vzc19zaGFyZWRfcHJlbG9hZF9saWJyYXJpZXNfaW5fcHJv Z3Jlc3MgaXMgdHJ1ZS4KSXQgbWVhbnMgdGhhdCB3b3JrZXJfc3BpX2xhdW5jaCgpIGZhaWxzIGlm IHNoYXJlZF9wcmVsb2FkX2xpYnJhcmllcwppcyBlbXB0eSBiZWNhdXNlIHRoZSBkYXRhYmFzZSB0 byBjb25uZWN0IGlzIE5VTEwuCgpUaGUgcGF0Y2ggY2hhbmdlcyB0aGF0IHRoZSBkYXRhYmFzZSBu YW1lIGlzIGFsd2F5cyBpbml0aWxpemVkCndoZW4gY2FsbGVkIF9QR19pbml0KCkuIFdlIGNhbiBj YWxsIHdvcmtlcl9zcGlfbGF1bmNoKCkgYW5kCmxhdW5jaCBTUEkgd29ya2VycyBkeW5hbWljYWxs eS4KCkl0IGFsc28gY2hhbmdlcyB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIHRlc3QgYmVjYXVz ZSB3ZSBkb24ndApuZWVkICJzaGFyZWRfcHJlbG9hZF9saWJyYXJpZXMgPSB3b3JrZXJfc3BpIiBh bnltb3JlLCBhbmQKYmFja2dyb3VuZCB3b3JrZXJzIGxhdW5jaGVkIGluIGluaXRpYWxpemVkIHBo YXNlIGFsd2F5cyBoYXZlCmZhaWxlZCBiZWNhdXNlIHRoZSAiY29udHJpYl9yZWdyZXNzaW9uIiBk YXRhYmFzZSBpcyBub3QgY3JlYXRlZCB5ZXQuCi0tLQogc3JjL3Rlc3QvbW9kdWxlcy93b3JrZXJf c3BpL01ha2VmaWxlICAgICB8ICA0ICsrLS0KIHNyYy90ZXN0L21vZHVsZXMvd29ya2VyX3NwaS9k eW5hbWljLmNvbmYgfCAgMyArLS0KIHNyYy90ZXN0L21vZHVsZXMvd29ya2VyX3NwaS93b3JrZXJf c3BpLmMgfCAyNyArKysrKysrKysrKysrKy0tLS0tLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgMTkg aW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvbW9k dWxlcy93b3JrZXJfc3BpL01ha2VmaWxlIGIvc3JjL3Rlc3QvbW9kdWxlcy93b3JrZXJfc3BpL01h a2VmaWxlCmluZGV4IGNiZjliMmUzN2YuLmMyZDMyZDliNzIgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0 L21vZHVsZXMvd29ya2VyX3NwaS9NYWtlZmlsZQorKysgYi9zcmMvdGVzdC9tb2R1bGVzL3dvcmtl cl9zcGkvTWFrZWZpbGUKQEAgLTgsMTAgKzgsMTAgQEAgUEdGSUxFREVTQyA9ICJ3b3JrZXJfc3Bp IC0gYmFja2dyb3VuZCB3b3JrZXIgZXhhbXBsZSIKIAogUkVHUkVTUyA9IHdvcmtlcl9zcGkKIAot IyBlbmFibGUgb3VyIG1vZHVsZSBpbiBzaGFyZWRfcHJlbG9hZF9saWJyYXJpZXMgZm9yIGR5bmFt aWMgYmd3b3JrZXJzCiBSRUdSRVNTX09QVFMgPSAtLXRlbXAtY29uZmlnICQodG9wX3NyY2Rpcikv c3JjL3Rlc3QvbW9kdWxlcy93b3JrZXJfc3BpL2R5bmFtaWMuY29uZgogCi0jIERpc2FibGUgaW5z dGFsbGNoZWNrIHRvIGVuc3VyZSB3ZSBjb3ZlciBkeW5hbWljIGJnd29ya2Vycy4KKyMgRGlzYWJs ZSBiZWNhdXNlIHRoZXNlIHRlc3RzIHJlcXVpcmUgIndvcmtlcl9zcGkuZGF0YWJhc2UgPSBjb250 cmliX3JlZ3Jlc3Npb24iLAorIyB3aGljaCB0eXBpY2FsIGluc3RhbGxjaGVjayB1c2VycyBkbyBu b3QgaGF2ZSAoZS5nLiBidWlsZGZhcm0gY2xpZW50cykuCiBOT19JTlNUQUxMQ0hFQ0sgPSAxCiAK IGlmZGVmIFVTRV9QR1hTCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1bGVzL3dvcmtlcl9zcGkv ZHluYW1pYy5jb25mIGIvc3JjL3Rlc3QvbW9kdWxlcy93b3JrZXJfc3BpL2R5bmFtaWMuY29uZgpp bmRleCBiZmUwMTVmNjY0Li5kOWZkNDYzYTUzIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9tb2R1bGVz L3dvcmtlcl9zcGkvZHluYW1pYy5jb25mCisrKyBiL3NyYy90ZXN0L21vZHVsZXMvd29ya2VyX3Nw aS9keW5hbWljLmNvbmYKQEAgLTEsMiArMSBAQAotc2hhcmVkX3ByZWxvYWRfbGlicmFyaWVzID0g d29ya2VyX3NwaQotd29ya2VyX3NwaS5kYXRhYmFzZSA9IGNvbnRyaWJfcmVncmVzc2lvbgord29y a2VyX3NwaS5kYXRhYmFzZSA9IGNvbnRyaWJfcmVncmVzc2lvbgpcIE5vIG5ld2xpbmUgYXQgZW5k IG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L21vZHVsZXMvd29ya2VyX3NwaS93b3JrZXJf c3BpLmMgYi9zcmMvdGVzdC9tb2R1bGVzL3dvcmtlcl9zcGkvd29ya2VyX3NwaS5jCmluZGV4IDcy MjdjZmFhNDUuLmY2OTFmYmVjOWYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L21vZHVsZXMvd29ya2Vy X3NwaS93b3JrZXJfc3BpLmMKKysrIGIvc3JjL3Rlc3QvbW9kdWxlcy93b3JrZXJfc3BpL3dvcmtl cl9zcGkuYwpAQCAtMjgyLDcgKzI4MiwxMiBAQCBfUEdfaW5pdCh2b2lkKQogewogCUJhY2tncm91 bmRXb3JrZXIgd29ya2VyOwogCi0JLyogZ2V0IHRoZSBjb25maWd1cmF0aW9uICovCisJLyogR2V0 IHRoZSBjb25maWd1cmF0aW9uICovCisKKwkvKgorCSAqIFRoZXNlIEdVQ3MgYXJlIGRlZmluZWQg ZXZlbiBpZiB0aGlzIGxpYnJhcnkgaXMgbm90IGxvYWRlZCB3aXRoCisJICogc2hhcmVkX3ByZWxv YWRfbGlicmFyaWVzLCBmb3Igd29ya2VyX3NwaV9sYXVuY2goKS4KKwkgKi8KIAlEZWZpbmVDdXN0 b21JbnRWYXJpYWJsZSgid29ya2VyX3NwaS5uYXB0aW1lIiwKIAkJCQkJCQkiRHVyYXRpb24gYmV0 d2VlbiBlYWNoIGNoZWNrIChpbiBzZWNvbmRzKS4iLAogCQkJCQkJCU5VTEwsCkBAIC0yOTYsNiAr MzAxLDE1IEBAIF9QR19pbml0KHZvaWQpCiAJCQkJCQkJTlVMTCwKIAkJCQkJCQlOVUxMKTsKIAor CURlZmluZUN1c3RvbVN0cmluZ1ZhcmlhYmxlKCJ3b3JrZXJfc3BpLmRhdGFiYXNlIiwKKwkJCQkJ CQkgICAiRGF0YWJhc2UgdG8gY29ubmVjdCB0by4iLAorCQkJCQkJCSAgIE5VTEwsCisJCQkJCQkJ ICAgJndvcmtlcl9zcGlfZGF0YWJhc2UsCisJCQkJCQkJICAgInBvc3RncmVzIiwKKwkJCQkJCQkg ICBQR0NfU0lHSFVQLAorCQkJCQkJCSAgIDAsCisJCQkJCQkJICAgTlVMTCwgTlVMTCwgTlVMTCk7 CisKIAlpZiAoIXByb2Nlc3Nfc2hhcmVkX3ByZWxvYWRfbGlicmFyaWVzX2luX3Byb2dyZXNzKQog CQlyZXR1cm47CiAKQEAgLTMxMiwxOCArMzI2LDkgQEAgX1BHX2luaXQodm9pZCkKIAkJCQkJCQlO VUxMLAogCQkJCQkJCU5VTEwpOwogCi0JRGVmaW5lQ3VzdG9tU3RyaW5nVmFyaWFibGUoIndvcmtl cl9zcGkuZGF0YWJhc2UiLAotCQkJCQkJCSAgICJEYXRhYmFzZSB0byBjb25uZWN0IHRvLiIsCi0J CQkJCQkJICAgTlVMTCwKLQkJCQkJCQkgICAmd29ya2VyX3NwaV9kYXRhYmFzZSwKLQkJCQkJCQkg ICAicG9zdGdyZXMiLAotCQkJCQkJCSAgIFBHQ19QT1NUTUFTVEVSLAotCQkJCQkJCSAgIDAsCi0J CQkJCQkJICAgTlVMTCwgTlVMTCwgTlVMTCk7Ci0KIAlNYXJrR1VDUHJlZml4UmVzZXJ2ZWQoIndv cmtlcl9zcGkiKTsKIAotCS8qIHNldCB1cCBjb21tb24gZGF0YSBmb3IgYWxsIG91ciB3b3JrZXJz ICovCisJLyogU2V0IHVwIGNvbW1vbiBkYXRhIGZvciBhbGwgb3VyIHdvcmtlcnMgKi8KIAltZW1z ZXQoJndvcmtlciwgMCwgc2l6ZW9mKHdvcmtlcikpOwogCXdvcmtlci5iZ3dfZmxhZ3MgPSBCR1dP UktFUl9TSE1FTV9BQ0NFU1MgfAogCQlCR1dPUktFUl9CQUNLRU5EX0RBVEFCQVNFX0NPTk5FQ1RJ T047Ci0tIAoyLjI1LjEKCg== --=_ca94ef72a11bb2599399aff0b07cd4f8--