Re: WAL usage calculation patch
Julien Rouhaud <rjuju123@gmail.com>
Commits
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Change the display of WAL usage statistics in Explain.
- 69bfaf2e1de4 13.0 landed
-
Cosmetic fixups for WAL usage work.
- ef08ca113fe3 13.0 landed
-
Allow parallel create index to accumulate buffer usage stats.
- 5c71362174eb 13.0 landed
- f179e9f01b65 11.8 landed
- 13823ad3b012 12.3 landed
-
Allow autovacuum to log WAL usage statistics.
- b7ce6de93b59 13.0 landed
-
Add the option to report WAL usage in EXPLAIN and auto_explain.
- 33e05f89c53e 13.0 landed
-
Allow pg_stat_statements to track WAL usage statistics.
- 6b466bf5f2be 13.0 landed
-
Add infrastructure to track WAL usage.
- df3b181499b4 13.0 landed
-
Include information on buffer usage during planning phase, in EXPLAIN output, take two.
- ce77abe63cfc 13.0 cited
-
Include information on buffer usage during planning phase, in EXPLAIN output.
- ed7a5095716e 13.0 cited
-
Allow parallel vacuum to accumulate buffer usage.
- 3a5e22138a8d 13.0 landed
-
Allow pg_stat_statements to track planning statistics.
- 17e03282241c 13.0 cited
On Tue, Mar 31, 2020 at 12:21 PM Kuntal Ghosh <kuntalghosh.2007@gmail.com> wrote: > > On Mon, Mar 30, 2020 at 6:14 PM Julien Rouhaud <rjuju123@gmail.com> wrote: > > > @@ -448,6 +449,7 @@ XLogInsert(RmgrId rmid, uint8 info) > bool doPageWrites; > XLogRecPtr fpw_lsn; > XLogRecData *rdt; > + int num_fpw = 0; > > /* > * Get values needed to decide whether to do full-page writes. Since > @@ -457,9 +459,9 @@ XLogInsert(RmgrId rmid, uint8 info) > GetFullPageWriteInfo(&RedoRecPtr, &doPageWrites); > > rdt = XLogRecordAssemble(rmid, info, RedoRecPtr, doPageWrites, > - &fpw_lsn); > + &fpw_lsn, &num_fpw); > > - EndPos = XLogInsertRecord(rdt, fpw_lsn, curinsert_flags); > + EndPos = XLogInsertRecord(rdt, fpw_lsn, curinsert_flags, num_fpw); > } while (EndPos == InvalidXLogRecPtr); > > I think there are some issues in the num_fpw calculation. For some > cases, we have to return from XLogInsert without inserting a record. > Basically, we've to recompute/reassemble the same record. In those > cases, num_fpw should be reset. Thoughts? Mmm, yes but since that's the same record is being recomputed from the same RedoRecPtr, doesn't it mean that we need to reset the counter? Otherwise we would count the same FPW multiple times.