On Thu, Sep 29, 2022 at 1:43 AM Jacob Champion <jchamp...@timescale.com> wrote: > > On Tue, Sep 27, 2022 at 6:14 PM Masahiko Sawada <sawada.m...@gmail.com> wrote: > > No. Since cluster_name is PGC_POSTMATER, we leak a little postmaster > > memory only once when starting up. application_name is PGC_USERSET but > > since we normally allocate memory in PortalMemoryContext we eventually > > can free it. > > Oh, I see; thank you for the correction. And even if someone put an > application_name into their postgresql.conf, and then changed it a > bunch of times, we'd free the leaked memory from the config_cxt that's > created in ProcessConfigFile().
Right. > > Is there a reason we don't provide a similar temporary context during > InitializeGUCOptions()? Naively it seems like that would suppress any > future one-time leaks, and maybe cut down on some Valgrind noise. Then > again, maybe there's just not that much demand for pallocs during GUC > hooks. While this seems a future-proof idea, I wonder if it might be overkill since we don't need to worry about accumulation of leaked memory in this case. Given that only check_cluter_name is the case where we found a small memory leak, I think it's adequate to fix it. Fixing this issue suppresses the valgrind's complaint but since the boot value of cluster_name is "" the memory leak we can avoid is only 1 byte. Regards, -- Masahiko Sawada PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com