Re: Improve WALRead() to suck data directly from WAL buffers when possible
От | Kuntal Ghosh |
---|---|
Тема | Re: Improve WALRead() to suck data directly from WAL buffers when possible |
Дата | |
Msg-id | CAGz5QCLqbcRQ3v7WfC5Y8naDtyurS2fZmpaThgLBgE6iyft=KQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Improve WALRead() to suck data directly from WAL buffers when possible (Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>) |
Ответы |
Re: Improve WALRead() to suck data directly from WAL buffers when possible
|
Список | pgsql-hackers |
On Tue, Feb 28, 2023 at 10:38 AM Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com> wrote: > +/* + * Guts of XLogReadFromBuffers(). + * + * Read 'count' bytes into 'buf', starting at location 'ptr', from WAL + * fetched WAL buffers on timeline 'tli' and return the read bytes. + */ s/fetched WAL buffers/fetched from WAL buffers + else if (nread < nbytes) + { + /* + * We read some of the requested bytes. Continue to read remaining + * bytes. + */ + ptr += nread; + nbytes -= nread; + dst += nread; + *read_bytes += nread; + } The 'if' condition should always be true. You can replace the same with an assertion instead. s/Continue to read remaining/Continue to read the remaining The good thing about this patch is that it reduces read IO calls without impacting the write performance (at least not that noticeable). It also takes us one step forward towards the enhancements mentioned in the thread. If performance is a concern, we can introduce a GUC to enable/disable this feature. -- Thanks & Regards, Kuntal Ghosh
В списке pgsql-hackers по дате отправления: