Re: Refactoring the checkpointer's fsync request queue
Shawn Debnath <sdn@amazon.com>
From: Shawn Debnath <sdn@amazon.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Thomas Munro <thomas.munro@gmail.com>, Andres Freund <andres@anarazel.de>,
Dmitry Dolgov <9erthalion6@gmail.com>,
Robert Haas <robertmhaas@gmail.com>,
PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2019-03-05T17:15:57Z
Lists: pgsql-hackers
On Tue, Mar 05, 2019 at 11:53:16AM -0500, Tom Lane wrote: > Thomas Munro <thomas.munro@gmail.com> writes: > > +#include "fmgr.h" > > +#include "storage/block.h" > > +#include "storage/relfilenode.h" > > +#include "storage/smgr.h" > > +#include "storage/sync.h" > > > Why do we need to include fmgr.h in md.h? > > More generally, any massive increase in an include file's inclusions > is probably a sign that you need to refactor. Cross-header inclusions > are best avoided altogether if you can --- obviously that's not always > possible, but we should minimize them. We've had some very unfortunate > problems in the past from indiscriminate #includes in headers. Agree - I do pay attention to these, but this one slipped through the cracks (copied smgr.h then edited to remove smgr bits). Thanks for catching this, will fix in the next patch iteration. -- Shawn Debnath Amazon Web Services (AWS)
Commits
-
Fix bugs in mdsyncfiletag().
- 794c543b1736 12.0 landed
-
Refactor the fsync queue for wider use.
- 3eb77eba5a51 12.0 landed
-
Don't forget about failed fsync() requests.
- 1556cb2fc5c7 12.0 cited
-
PANIC on fsync() failure.
- 9ccdd7f66e33 12.0 cited
-
Move LockClauseStrength, LockWaitPolicy into new file nodes/lockoptions.h.
- 9fac5fd741ec 9.5.0 cited
-
Add new file for checkpointer.c
- bf405ba8e460 9.2.0 cited
-
Split work of bgwriter between 2 processes: bgwriter and checkpointer.
- 806a2aee3791 9.2.0 cited
-
Install infrastructure for shared-memory free space map. Doesn't actually
- e0c9301c8763 7.2.1 cited