On Sat, Dec 31, 2022 at 12:03 AM Nathan Bossart <nathandboss...@gmail.com> wrote: > > On Tue, Oct 18, 2022 at 12:01:07PM +0530, Bharath Rupireddy wrote: > > The attached patch attempts to simplify the code a bit by changing the > > current source to XLOG_FROM_PG_WAL after failing in > > XLOG_FROM_PG_ARCHIVE so that the state machine can move smoothly to > > read from pg_wal. And we can just pass the current source to > > XLogFileReadAnyTLI(). It also enables us to reduce a bit of extra > > XLogFileRead() code in XLogFileReadAnyTLI(). > > This looks correct to me. The only thing that stood out to me was the loop > through 'tles' in XLogFileReadyAnyTLI. With this change, we'd loop through > the timelines for both XLOG_FROM_PG_ARCHIVE and XLOG_FROM_PG_WAL, whereas > now we only loop through the timelines once. However, I doubt this makes > much difference in practice. You'd only do the extra loop whenever > restoring from the archives failed.
Right. With the patch, we'd loop again through the tles after a failure from the archive. Since the curFileTLI isn't changed unless a successful read, we'd read from pg_wal with tli where we earlier left off reading from the archive. I'm not sure if this extra looping is worth worrying about. -- Bharath Rupireddy PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com