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 1vljZt-003AYm-11 for pgpool-hackers@arkaria.postgresql.org; Fri, 30 Jan 2026 08:10:05 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vljZr-003hNc-16 for pgpool-hackers@arkaria.postgresql.org; Fri, 30 Jan 2026 08:10:04 +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 1vljZr-003hNT-09 for pgpool-hackers@lists.postgresql.org; Fri, 30 Jan 2026 08:10:04 +0000 Received: from meldrar.postgresql.org ([2a02:c0:301:0:ffff::31]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vljZo-0007qn-3A for pgpool-hackers@lists.postgresql.org; Fri, 30 Jan 2026 08:10:02 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=postgresql.org; s=20171124; h=Content-Transfer-Encoding:Content-Type: Mime-Version:References:In-Reply-To:From:Subject:Cc:To:Message-Id:Date:Sender :Reply-To:Content-ID:Content-Description; bh=4poAQG03NYQQkQkobMdZ4TOh9V+1j4a0vtZ8rfCzkFM=; b=GAe+VTSwh6K5u13MMjO/SHEylJ 364hQ4YpwQslOcdAWvYGpEgk7pEuio7qHfCQADmD4CWjtxpPwKxNq08iG4t2XK2hQYKYNLGVUxcdg S7FESGOVTeYSGI4URRo911RzVvJWyd4BpI2A2Fp3XT0VFg2OZsdwOK6Lnj11Pn5nlAbd797sUhQ7+ 4sogi0Z71Jc4WyQJdO7CwRrSLRfYvfCrMcoDlI+hvLJSVRretGozsIHUAIN0ggVeKnYM+3ycnIf+/ Wl0t+md35lOyIMODAOloA9NQQfVdX10Dsv5scmuCZeP1WBjCWKHQAkK/fHAnWD5p9tTp979zSCCgD C5ZUpeBw==; Received: from 117.141.178.217.shared.user.transix.jp ([217.178.141.117] helo=localhost) by meldrar.postgresql.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vljZm-000Pui-0B; Fri, 30 Jan 2026 08:10:00 +0000 Date: Fri, 30 Jan 2026 17:09:50 +0900 (JST) Message-Id: <20260130.170950.551399957723794225.ishii@postgresql.org> To: nadav@tailorbrands.com Cc: pgpool-hackers@lists.postgresql.org Subject: Re: Proposal: Recent mutated table tracking in memory From: Tatsuo Ishii In-Reply-To: References: <20260128.140840.463288103359200425.ishii@postgresql.org> <20260129.172810.828658334363427861.ishii@postgresql.org> X-Mailer: Mew version 6.8 on Emacs 29.3 Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk > yes indeed, please find attached. Thanks. Here some comments on the patch: - It seems you use a table name (and schema) for a key to identify the TableMutationEntry and other objects. I think you should use table oids for the key because the same table name could exists in different schema. Moreover, if the database is different from the database when the map entry was created, a map look up could return incorrect result. In summary the key should be table oid and database oid (which is already done by query cache subsystem). - In the patch spin lock primitives are introduced. Why can't we use semaphore instead? A spin lock uses busy loop, which could increase the system load if the duration of locking becomes longer. - What would happen if the leader watchdog fails and other watchdog node take the place of the leader role? - pool_memory_map_get_ttl() and pool_memory_map_get_stats() are defined but are not used anywhere. Why do you have them? - I think "memory_map" is a too generic name. Can we use more specific name for the feature? Best regards, -- Tatsuo Ishii SRA OSS K.K. English: http://www.sraoss.co.jp/index_en/ Japanese:http://www.sraoss.co.jp