On Sat, Feb 18, 2023 at 5:07 AM Jeff Davis <pg...@j-davis.com> wrote: > > On Thu, 2023-02-16 at 18:00 +0530, Bharath Rupireddy wrote: > > I'm attaching the patches here. For HEAD, I'd > > want to be a bit defensive and use the temporary memory context for > > pg_get_wal_fpi_info() too. > > I don't see why we shouldn't backpatch that, too?
pg_get_wal_fpi_info() is added in v16, so backpatching isn't necessary. > Also, it seems like we should do the same thing for the loop in > GetXLogSummaryStats(). Maybe just for the outer loop is fine (the inner > loop is only 16 elements); though again, there's not an obvious > downside to fixing that, too. Firstly, WAL record traversing loop in GetWalStats() really doesn't leak memory, because it just increments some counters and doesn't palloc any memory. Similarly, the loops in GetXLogSummaryStats() too don't palloc any memory, so no memory leak. I've seen no memory growth during execution of pg_get_wal_stats_till_end_of_wal() for 35million WAL records, see [1] PID 543967 (during the execution of the stats function, the memory usage remained constant). Therefore, I feel that the fix isn't required for GetWalStats(). [1] PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 543967 ubuntu 20 0 168668 152056 149988 R 99.7 0.5 1:33.72 postgres 412271 ubuntu 20 0 1101852 252724 42904 S 1.3 0.8 2:18.36 node 412208 ubuntu 20 0 965000 112488 36012 S 0.3 0.4 0:23.46 node 477193 ubuntu 20 0 5837096 34172 9420 S 0.3 0.1 0:00.93 cpptools-srv -- Bharath Rupireddy PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com